+ //! returns the label of result by index; creates this label if it was not created before
+ TDF_Label resultLabel(const std::shared_ptr<ModelAPI_Data>& theFeatureData, const int theResultIndex);
+
+ //! Updates the results list of the feature basing on the current data tree
+ void updateResults(FeaturePtr theFeature);
+
+ //! Returns all sub documents
+ const std::set<std::string> subDocuments(const bool theActivatedOnly) const;
+
+ //! The implementation of undo: with or without recoursive calls in the sub-documents
+ void undoInternal(const bool theWithSubs, const bool theSynchronize);
+
+ //! Stores the Id of the current operation (normally is called for the root document)
+ void operationId(const std::string& theId);
+
+ //! Returns the list of Ids of the operations that can be undoed (called for the root document)
+ std::list<std::string> undoList() const;
+
+ //! Returns the list of Ids of the operations that can be redoed (called for the root document)
+ std::list<std::string> redoList() const;
+
+ /// Internally makes document know that feature was removed or added in history after creation
+ MODEL_EXPORT virtual void addToHistory(const std::shared_ptr<ModelAPI_Object> theObject);
+
+ /// Returns true if the document is root module document
+ bool isRoot() const;
+