A class responsible for extract refactoring. Use the 
Refactoring.Extracting class to create the extract
 manager for a symbol which you want to extract. Configure the extract refactoring by changing
 
ExtractSource and 
ExtractTarget. Invoke the refactoring with RefactorManager.refactor().
 Review refactoring results by inspecting 
ExtractSource and 
ExtractTarget.
 
 
 // Creates extract refactor manager.
 ExtractManager extractManager = Refactoring.Extracting.createExtractManager(symbols);
 if (extractManager != null)
 {
     // A session has to be started before refactoring.
     SessionManager sessionManager = SessionManager.getInstance();
     sessionManager.createSession("Extract Refactor Symbols");
     // We may control the extract refactor result by modifying extract target.
     ExtractTarget extractTarget = extractManager.getExtractTarget();
     // Create a namespace to which we are going to refactor.
     Project project = Project.getProject(symbols[0]);
     Package package1 = project.getElementsFactory().createPackageInstance();
     package1.setOwner(project.getModel());
     // Set the namespace to which the extract result will go.
     extractTarget.setTargetNamespace(package1);
     // Choose target diagram type from allowed diagram types if the default type does not suite.
     List allowedTargetDiagramTypes = extractTarget.getAllowedTargetDiagramTypes();
     extractTarget.setTargetDiagramType(allowedTargetDiagramTypes.get(0));
     // Modify reference names which link the extract refactor source to the target.
     List extends ExtractReference> references = extractTarget.getReferences();
     for (int i = 0; i < references.size(); i++)
     {
         ExtractReference reference = references.get(i);
         reference.setName(Integer.toString(i));
     }
     // We may control the extract refactor source by modifying the extract source.
     ExtractSource extractSource = extractManager.getExtractSource();
     extractSource.setElementName("sourceElementName");
     // Perform actual refactoring.
     extractManager.extract();
     sessionManager.closeSession();
     // The element which was created in the source during refactoring.
     Element sourceElement = extractSource.getElement();
     // The element which was created in the target during refactoring.
     Element targetElement = extractTarget.getElement();
     // The diagram which was created in the target during refactoring.
    DiagramPresentationElement targetDiagram = extractTarget.getDiagram();
 }