VerifyArgument.notEmpty(cases, "cases");
VerifyArgument.noNullElements(cases, "cases");
final boolean customType = type != null;
final Type resultType = type != null ? type : cases.get(0).getBody().getType();
final MethodInfo actualComparison;
if (comparison != null) {
final ParameterList parameters = comparison.getParameters();
if (parameters.size() != 2) {