/**
  * Merges the children of the given composite change into this change. This means the changes are
  * removed from the given composite change and added to this change.
  *
  * @param change the change to merge
  */
 public void merge(CompositeChange change) {
   Change[] others = change.getChildren();
   for (int i = 0; i < others.length; i++) {
     Change other = others[i];
     change.remove(other);
     add(other);
   }
 }
Exemplo n.º 2
0
 @Override
 void createChange(final IProgressMonitor pm, final CompositeChange rootChange) {
   try {
     pm.beginTask(UITexts.mkPointFreeDelegate_collectingChanges, 100);
     if (change == null) {
       throw new IllegalStateException();
     }
     // do not have the intermediate step
     for (Change c : change.getChildren()) {
       change.remove(c);
       rootChange.add(c);
     }
     // rootChange.add( change );
   } finally {
     pm.done();
   }
 }