@Override public List<MethodDeclaration> getMethods(EmitContext context, ModelDeclaration model) throws IOException { if (isTarget(model) == false) { return Collections.emptyList(); } CacheSupportTrait trait = model.getTrait(CacheSupportTrait.class); assert trait != null; List<MethodDeclaration> results = Lists.create(); results.add(createModelVersionMethod(context, model, trait)); results.add(createTimestampColumnMethod(context, model, trait.getTimestamp())); results.add(createSystemIdMethod(context, model, trait.getSid())); results.add(createDeletedMethod(context, model, trait.getDeleteFlag())); return results; }