--- file_not_specified_in_diff +++ file_not_specified_in_diff @@ -, +, @@ --- Base (BASE) +++ Locally Modified (Based On LOCAL) @@ -327,7 +327,6 @@ modifiedClazz = genUtils.addClassFields(clazz, classFields); modifiedClazz = make.addClassMember(modifiedClazz, idGetter); modifiedClazz = make.addClassMember(modifiedClazz, idSetter); - modifiedClazz = genUtils.addImplementsClause(modifiedClazz, "java.io.Serializable"); modifiedClazz = genUtils.addAnnotation(modifiedClazz, genUtils.createAnnotation("javax.persistence.Entity")); String entityClassFqn = typeElement.getQualifiedName().toString(); @@ -339,8 +338,22 @@ workingCopy.rewrite(clazz, modifiedClazz); } }; + Task task2 = new Task() { + @Override + public void run(WorkingCopy workingCopy) throws Exception { + workingCopy.toPhase(Phase.RESOLVED); + TypeElement typeElement = SourceUtils.getPublicTopLevelElement(workingCopy); + assert typeElement != null; + ClassTree clazz = workingCopy.getTrees().getTree(typeElement); + GenerationUtils genUtils = GenerationUtils.newInstance(workingCopy); + ClassTree modifiedClazz = genUtils.addImplementsClause(clazz, "java.io.Serializable"); + workingCopy.rewrite(clazz, modifiedClazz); + } + }; + targetSource.runModificationTask(task).commit(); + targetSource.runModificationTask(task2).commit(); return entityFo; }