VariableNameSource localNames = nameSource.forBlock();
JForLoop _for = body._for();
JVar i = _for.init(types._int, localNames.get("i"), JExpr.lit(0));
_for.test(i.lt(value1.ref("length")));
_for.update(i.incr());
EqualsMethod forBody = new EqualsMethod(types, _for.body(), localNames);
if (type.elementType().isReference())
forBody.appendNullableValue(type.elementType(), value1.component(i), value2.component(i));
else
forBody.appendNotNullValue(type.elementType(), value1.component(i), value2.component(i));
} else if (type.isPrimitive()) {