class JavaAssistCompiler extends JavaCompilerImpl {

    @Override
    public ClassData makeClassData(FunctionDefinition element, FEELContext context, BasicDMNToNativeTransformer dmnTransformer, FEELTranslator feelTranslator, String libClassName) {
        FunctionType functionType = (FunctionType) element.getType();

        // Apply method parts
        String signature = "Object[] args";
        boolean convertToContext = true;
        String body = feelTranslator.expressionToNative(element.getBody(), context);
        NativeFactory nativeFactory = dmnTransformer.getNativeFactory();
        String applyMethod = nativeFactory.applyMethod(functionType, signature, convertToContext, body);

        String bridgeMethodText = bridgeMethodText();

        // Class parts
        String packageName = "com.gs.dmn.runtime";
        String className = "LambdaExpressionImpl" + System.currentTimeMillis();

        return new JavaAssistClassData(packageName, className, applyMethod, bridgeMethodText);
    }

}