Precondition.checkMustNotBeNull(start1, "start1"); //$NON-NLS-1$
Precondition.checkMustNotBeNull(length1, "length1"); //$NON-NLS-1$
Precondition.checkMustNotBeNull(bytes2, "bytes2"); //$NON-NLS-1$
Precondition.checkMustNotBeNull(start2, "start2"); //$NON-NLS-1$
Precondition.checkMustNotBeNull(length2, "length2"); //$NON-NLS-1$
Type type = factory.newNamedType(Models.toName(factory, optionClass.getName()));
return new TypeBuilder(factory, type)
.method("compareBytes",
bytes1, start1, length1,
bytes2, start2, length2)
.toExpression();