public final MMethod addGetterMethod(String name, boolean isSynchronized) { final MMethod method; if (type != null) { container.addExtraImport(type); method = container .addMethod(name, type, generic) .setGenerator( new MCodeGenerator<MMethod>() { @Override public MCodeBlock getCodeBlock(MMethod element) { MCodeBlock code = element.getCodeBlock(element); code.addLine("return " + MField.this.getName() + ";"); return code; } }); } else { method = container .addMethod(name, generic) .setGenerator( new MCodeGenerator<MMethod>() { @Override public MCodeBlock getCodeBlock(MMethod element) { MCodeBlock code = element.getCodeBlock(element); code.addLine("return " + MField.this.getName() + ";"); return code; } }); } return method.setSynchronized(isSynchronized && !isFinal()); }