docs: @Override
  	protected void setBody(JvmExecutable executable, XExpression expression) {
  		final GenerationContext context = getContext(
  				EcoreUtil2.getContainerOfType(executable, JvmType.class));
  		this.typeBuilder.removeExistingBody(executable);
  		this.associator.associateLogicalContainer(expression, executable);
  		if (expression != null) {
  			if (context.getParentContext() == null) {
  				context.getPostFinalizationElements().add(() -> {
  					initializeLocalTypes(context, executable, expression);
  				});
  			} else {
  				initializeLocalTypes(context, executable, expression);
  			}
  		} else {
  			initializeLocalTypes(context, executable, expression);
  		}
  	}