}
protected ExpressionNode makeAnonymousInnerClass(final JavaType interfaceType, final MethodInfo functionalMethod,
final ASTMethodDeclaration methodImpl)
{
final ModifierSet set = new ModifierSet(ModifierSet.Modifier.PUBLIC);
final ASTModifiers modifiers = new ASTModifiers(set);
final ASTMember member = new ASTMember(modifiers, methodImpl);
final JavaType astType = substituteType(methodImpl.getParameters(), functionalMethod, interfaceType);
ASTClassOrInterfaceBody body = new ASTClassOrInterfaceBody(new ASTClassOrInterfaceBodyElement(member));
return new ASTAllocationExpression(JavaTypeUtil.withoutWildcard(astType), new ASTArguments(), body);