code: @Override
  	public void doGenerate(EObject object, ExtraLanguageAppendable appendable, IExtraLanguageGeneratorContext context) {
  		try {
  			before(object, context);
  			generate(object, appendable, context);
  		} finally {
  			after(object, context);
  		}
  	}
docs: Generate the given object.
  
  <p>This function calls the {@link #before(EObject, IExtraLanguageGeneratorContext)},
  {@link #generate(EObject, ExtraLanguageAppendable, IExtraLanguageGeneratorContext)}, and
  {@link #after(EObject, IExtraLanguageGeneratorContext)} functions.
  
  @param object the object.
  @param appendable the target for the generated content.
  @param context the context.