protected void generate(XExpression expression, LightweightTypeReference needReturn, ExtraLanguageAppendable appendable,
			IExtraLanguageGeneratorContext context) {
		final IExpressionGenerator generator = getExpressionGenerator();
		if (generator == null) {
			throw new UnsupportedOperationException();
		}
		generator.generate(expression, needReturn, appendable, context);
	}
protected void generate ( XExpression expression , LightweightTypeReference needReturn , ExtraLanguageAppendable appendable , IExtraLanguageGeneratorContext context ) { final IExpressionGenerator generator = getExpressionGenerator ( ) ; if ( generator == null ) { throw new UnsupportedOperationException ( ) ; } generator . generate ( expression , needReturn , appendable , context ) ; }
Generate the given object.

@param expression the expression to be generated.
@param needReturn the type of the expression in the context of a returned expression from a function.
@param appendable the target for the generated content.
@param context the context.