final ParameterExpressionList parameters) {
VerifyArgument.notNull(interfaceType, "interfaceType");
verifyCanRead(body, "body");
final MethodList methods = interfaceType.getMethods(BindingFlags.PublicInstance);
if (!interfaceType.isInterface() || methods.size() != 1) {
throw Error.lambdaTypeMustBeSingleMethodInterface();
}
final MethodInfo method = methods.get(0);
final ParameterList methodParameters = method.getParameters();
if (methodParameters.size() > 0) {
if (parameters.size() != methodParameters.size()) {
throw Error.incorrectNumberOfLambdaArguments();