I would refactor this snippet out to the base class `LazyPrimitive`, and make the check simpler/easier to maintain:

    if (isNull(bytes, start)) return;

Also I would put the `isNonNumeric()` check before the `start >= length` check as the probability of `isNonNumeric()` is likely far higher.