@Override public void calculate(CtCompilationUnit sourceCompilationUnit, List<CtType<?>> types) { // reset the importsContext to avoid errors with multiple CU reset(); this.sourceCompilationUnit = sourceCompilationUnit; this.imports = new HashSet<>(); if (sourceCompilationUnit != null) { this.importsContext.initWithImports(sourceCompilationUnit.getImports()); } for (CtType<?> t : types) { imports.addAll(computeImports(t)); } this.writeHeader(types, imports); printTypes(types); }