### Question:
JavaAssistCompiler extends JavaCompilerImpl { @Override public ClassData makeClassData(FunctionDefinition element, FEELContext context, BasicDMNToNativeTransformer dmnTransformer, FEELTranslator feelTranslator, String libClassName) { FunctionType functionType = (FunctionType) element.getType(); 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(); String packageName = "com.gs.dmn.runtime"; String className = "LambdaExpressionImpl" + System.currentTimeMillis(); return new JavaAssistClassData(packageName, className, applyMethod, bridgeMethodText); }  @Override ClassData makeClassData(FunctionDefinition element, FEELContext context, BasicDMNToNativeTransformer dmnTransformer, FEELTranslator feelTranslator, String libClassName); @Override Class<?> compile(ClassData classData);  }### Answer:
@Test public void testMakeClassData() { ClassData classData = makeClassData(); assertEquals(JavaAssistClassData.class.getName(), classData.getClass().getName()); assertTrue(classData.getClassName().startsWith("LambdaExpressionImpl")); assertEquals("com.gs.dmn.runtime", classData.getPackageName()); assertEquals("public Object apply(Object[] args) {\n return apply(args);\n}\n", ((JavaAssistClassData)classData).getBridgeMethodText()); assertEquals("public java.math.BigDecimal apply(Object[] args) {return number(\"123\");}", ((JavaAssistClassData)classData).getMethodText()); }