void appendNotNullValue(AbstractJType type, IJExpression value1, IJExpression value2) {
if (type.isArray()) {
appendNotNullValue(types._int, value1.ref("length"), value2.ref("length"));
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));