Source:
private TextChangeManager createChangeManager(IProgressMonitor pm, RefactoringStatus result) throws CoreException { pm.beginTask(RefactoringCoreMessages.ChangeSignatureRefactoring_preview, 2); fChangeManager= new TextChangeManager(); boolean isNoArgConstructor= isNoArgConstructor(); Map<ICompilationUnit, Set<IType>> namedSubclassMapping= null; if (isNoArgConstructor){ namedSubclassMapping= createNamedSubclassMapping(new SubProgressMonitor(pm, 1)); }else{ pm.worked(1); } for (SearchResultGroup fOccurrence : fOccurrences) { if (pm.isCanceled()) throw new OperationCanceledException(); SearchResultGroup group= fOccurrence; ICompilationUnit cu= group.getCompilationUnit(); if (cu == null) continue; CompilationUnitRewrite cuRewrite; if (cu.equals(getCu())) { cuRewrite= fBaseCuRewrite; } else { cuRewrite= new CompilationUnitRewrite(cu); cuRewrite.getASTRewrite().setTargetSourceRangeComputer(new TightSourceRangeComputer()); } ASTNode[] nodes= ASTNodeSearchUtil.findNodes(group.getSearchResults(), cuRewrite.getRoot()); List<OccurrenceUpdate<? extends ASTNode>> deferredUpdates= new ArrayList<>(); for (ASTNode node : nodes) { OccurrenceUpdate<? extends ASTNode> update= createOccurrenceUpdate(node, cuRewrite, result); if (update instanceof DeclarationUpdate) { update.updateNode(); } else { deferredUpdates.add(update); } } for (OccurrenceUpdate<? extends ASTNode> occurrenceUpdate : deferredUpdates) { occurrenceUpdate.updateNode(); } if (isNoArgConstructor && namedSubclassMapping.containsKey(cu)){ Set<IType> subtypes= namedSubclassMapping.get(cu); for (IType subtype : subtypes) { AbstractTypeDeclaration subtypeNode= ASTNodeSearchUtil.getAbstractTypeDeclarationNode(subtype, cuRewrite.getRoot()); if (subtypeNode != null) modifyImplicitCallsToNoArgConstructor(subtypeNode, cuRewrite); } } TextChange change= cuRewrite.createChange(true); if (change != null) fChangeManager.manage(cu, change); } pm.done(); return fChangeManager; }

Target:
private TextChangeManager createChangeManager(IProgressMonitor pm, RefactoringStatus result) throws CoreException { pm.beginTask(RefactoringCoreMessages.ChangeSignatureRefactoring_preview, 2); fChangeManager= new TextChangeManager(); boolean isNoArgConstructor= isNoArgConstructor(); Map<ICompilationUnit, Set<IType>> namedSubclassMapping= null; if (isNoArgConstructor){ namedSubclassMapping= createNamedSubclassMapping(new SubProgressMonitor(pm, 1)); }else{ pm.worked(1); } for (SearchResultGroup occurrence : fOccurrences) { if (pm.isCanceled()) throw new OperationCanceledException(); SearchResultGroup group= occurrence; ICompilationUnit cu= group.getCompilationUnit(); if (cu == null) continue; CompilationUnitRewrite cuRewrite; if (cu.equals(getCu())) { cuRewrite= fBaseCuRewrite; } else { cuRewrite= new CompilationUnitRewrite(cu); cuRewrite.getASTRewrite().setTargetSourceRangeComputer(new TightSourceRangeComputer()); } List<OccurrenceUpdate<? extends ASTNode>> deferredUpdates= new ArrayList<>(); for (ASTNode node : ASTNodeSearchUtil.findNodes(group.getSearchResults(), cuRewrite.getRoot())) { OccurrenceUpdate<? extends ASTNode> update= createOccurrenceUpdate(node, cuRewrite, result); if (update instanceof DeclarationUpdate) { update.updateNode(); } else { deferredUpdates.add(update); } } for (OccurrenceUpdate<? extends ASTNode> occurrenceUpdate : deferredUpdates) { occurrenceUpdate.updateNode(); } if (isNoArgConstructor && namedSubclassMapping.containsKey(cu)){ for (IType subtype : namedSubclassMapping.get(cu)) { AbstractTypeDeclaration subtypeNode= ASTNodeSearchUtil.getAbstractTypeDeclarationNode(subtype, cuRewrite.getRoot()); if (subtypeNode != null) modifyImplicitCallsToNoArgConstructor(subtypeNode, cuRewrite); } } TextChange change= cuRewrite.createChange(true); if (change != null) fChangeManager.manage(cu, change); } pm.done(); return fChangeManager; }