/** * Returns the reversed version of the current patch. Applying this reversed patch has the * opposite effect to applying the original one, and can be used to undo changes * * @return a reversed version of this patch */ public Patch reversed() { Patch patch = new Patch(); patch.removedFeatures = addedFeatures; patch.addedFeatures = removedFeatures; for (FeatureDiff diff : modifiedFeatures) { patch.modifiedFeatures.add(diff.reversed()); } for (FeatureTypeDiff diff : alteredTrees) { patch.alteredTrees.add(diff.reversed()); } return patch; }
/** * Returns the reversed version of the current patch. Applying this reversed patch has the * opposite effect to applying the original one, and can be used to undo changes * * @return a reversed version of this patch */ public Patch reversed() { Patch patch = new Patch(); patch.removedFeatures = addedFeatures; patch.addedFeatures = removedFeatures; for (FeatureDiff diff : modifiedFeatures) { patch.modifiedFeatures.add(diff.reversed()); } for (FeatureTypeDiff diff : alteredTrees) { patch.alteredTrees.add(diff.reversed()); } return patch; }