code: public static int decode(byte[] src, int srcOffset, byte[][] valueRef)
          throws CorruptEncodingException
      {
          try {
              return decode(src, srcOffset, valueRef, 0);
          } catch (IndexOutOfBoundsException e) {
              throw new CorruptEncodingException(null, e);
          }
      }
docs: Decodes the given byte array as originally encoded for ascending order.
  The decoding stops when any kind of terminator or illegal byte has been
  read. The decoded bytes are stored in valueRef.
  
  @param src source of encoded data
  @param srcOffset offset into encoded data
  @param valueRef decoded byte array is stored in element 0, which may be null
  @return amount of bytes read from source
  @throws CorruptEncodingException if source data is corrupt