code: public int compareTo(byte[] bytes, int offset, int len) {
      Preconditions.checkArgument(offset >= 0 && len >= 0 && offset + len <= bytes.length);
      return compareToUnchecked(bytes, offset, len);
    }
docs: Compares this to the passed bytes, byte by byte, returning a negative, zero, or positive result
  if the first sequence is less than, equal to, or greater than the second. The comparison is
  performed starting with the first byte of each sequence, and proceeds until a pair of bytes
  differs, or one sequence runs out of byte (is shorter). A shorter sequence is considered less
  than a longer one.
  
  This method checks the arguments passed to it.
  
  @since 1.2.0
  @return comparison result