public MoveDescriptor(String project,String description,String comment,Map arguments,int flags){
  super(IJavaRefactorings.MOVE,project,description,comment,arguments,flags);
  fMovePolicy=JavaRefactoringDescriptorUtil.getString(fArguments,ATTRIBUTE_POLICY);
  fDestination=JavaRefactoringDescriptorUtil.getJavaElement(fArguments,ATTRIBUTE_DESTINATION,project,true);
  if (fDestination == null)   fDestination=JavaRefactoringDescriptorUtil.getResourcePath(fArguments,ATTRIBUTE_TARGET,project);
  if (POLICY_MOVE_RESOURCES.equals(fMovePolicy)) {
    fReferences=JavaRefactoringDescriptorUtil.getBoolean(fArguments,ATTRIBUTE_REFERENCES,fReferences);
    fQualified=JavaRefactoringDescriptorUtil.getBoolean(fArguments,ATTRIBUTE_QUALIFIED,fQualified);
    fPatterns=JavaRefactoringDescriptorUtil.getString(fArguments,ATTRIBUTE_PATTERNS,true);
    int offset=1;
    fFiles=JavaRefactoringDescriptorUtil.getResourcePathArray(fArguments,ATTRIBUTE_FILES,ATTRIBUTE_ELEMENT,offset,project);
    offset+=fFiles.length;
    fFolders=JavaRefactoringDescriptorUtil.getResourcePathArray(fArguments,ATTRIBUTE_FOLDERS,ATTRIBUTE_ELEMENT,offset,project);
    offset+=fFolders.length;
    fUnits=(ICompilationUnit[])JavaRefactoringDescriptorUtil.getJavaElementArray(fArguments,ATTRIBUTE_UNITS,ATTRIBUTE_ELEMENT,offset,project,ICompilationUnit.class);
  }
 else   if (POLICY_MOVE_ROOTS.equals(fMovePolicy)) {
    fRoots=(IPackageFragmentRoot[])JavaRefactoringDescriptorUtil.getJavaElementArray(fArguments,ATTRIBUTE_ROOTS,ATTRIBUTE_ELEMENT,1,project,IPackageFragmentRoot.class);
  }
 else   if (POLICY_MOVE_PACKAGES.equals(fMovePolicy)) {
    fFragments=(IPackageFragment[])JavaRefactoringDescriptorUtil.getJavaElementArray(fArguments,ATTRIBUTE_FRAGMENTS,ATTRIBUTE_ELEMENT,1,project,IPackageFragment.class);
  }
 else   if (POLICY_MOVE_MEMBERS.equals(fMovePolicy)) {
    fMembers=(IMember[])JavaRefactoringDescriptorUtil.getJavaElementArray(fArguments,ATTRIBUTE_MEMBERS,ATTRIBUTE_ELEMENT,1,project,IMember.class);
  }
}

public MoveDescriptor ( String project , String description , String comment , Map arguments , int flags ) { super ( IJavaRefactorings . MOVE , project , description , comment , arguments , flags ) ; fMovePolicy = JavaRefactoringDescriptorUtil . getString ( fArguments , ATTRIBUTE_POLICY ) ; fDestination = JavaRefactoringDescriptorUtil . getJavaElement ( fArguments , ATTRIBUTE_DESTINATION , project , true ) ; if ( fDestination == null ) fDestination = JavaRefactoringDescriptorUtil . getResourcePath ( fArguments , ATTRIBUTE_TARGET , project ) ; if ( POLICY_MOVE_RESOURCES . equals ( fMovePolicy ) ) { fReferences = JavaRefactoringDescriptorUtil . getBoolean ( fArguments , ATTRIBUTE_REFERENCES , fReferences ) ; fQualified = JavaRefactoringDescriptorUtil . getBoolean ( fArguments , ATTRIBUTE_QUALIFIED , fQualified ) ; fPatterns = JavaRefactoringDescriptorUtil . getString ( fArguments , ATTRIBUTE_PATTERNS , true ) ; int offset = 1 ; fFiles = JavaRefactoringDescriptorUtil . getResourcePathArray ( fArguments , ATTRIBUTE_FILES , ATTRIBUTE_ELEMENT , offset , project ) ; offset += fFiles . length ; fFolders = JavaRefactoringDescriptorUtil . getResourcePathArray ( fArguments , ATTRIBUTE_FOLDERS , ATTRIBUTE_ELEMENT , offset , project ) ; offset += fFolders . length ; fUnits = ( ICompilationUnit [ ] ) JavaRefactoringDescriptorUtil . getJavaElementArray ( fArguments , ATTRIBUTE_UNITS , ATTRIBUTE_ELEMENT , offset , project , ICompilationUnit . class ) ; } else if ( POLICY_MOVE_ROOTS . equals ( fMovePolicy ) ) { fRoots = ( IPackageFragmentRoot [ ] ) JavaRefactoringDescriptorUtil . getJavaElementArray ( fArguments , ATTRIBUTE_ROOTS , ATTRIBUTE_ELEMENT , 1 , project , IPackageFragmentRoot . class ) ; } else if ( POLICY_MOVE_PACKAGES . equals ( fMovePolicy ) ) { fFragments = ( IPackageFragment [ ] ) JavaRefactoringDescriptorUtil . getJavaElementArray ( fArguments , ATTRIBUTE_FRAGMENTS , ATTRIBUTE_ELEMENT , 1 , project , IPackageFragment . class ) ; } else if ( POLICY_MOVE_MEMBERS . equals ( fMovePolicy ) ) { fMembers = ( IMember [ ] ) JavaRefactoringDescriptorUtil . getJavaElementArray ( fArguments , ATTRIBUTE_MEMBERS , ATTRIBUTE_ELEMENT , 1 , project , IMember . class ) ; } }
creates a new refactoring descriptor .
