core/src/main/java/com/orientechnologies/orient/core/serialization/serializer/record/binary/OVarIntSerializer.java
public static long readUnsignedVarLong(final BytesContainer bytes) {
    long value = 0L;
    int i = 0;
    long b;
    while (((b = bytes.bytes[bytes.offset++]) & 0x80L) != 0) {
      value |= (b & 0x7F) << i;
      i += 7;
      if (i > 63)
        throw new IllegalArgumentException("Variable length quantity is too long (must be <= 63)");
    }
    return value | (b << i);
  }
public static long readUnsignedVarLong(final BytesContainer bytes) {
    long value = 0L;
    int i = 0;
    long b;
    while (((b = bytes.bytes[bytes.offset++]) & 0x80L) != 0) {
      value |= (b & 0x7F) << i;
      i += 7;
      if (i > 63)
        throw new IllegalArgumentException("Variable length quantity is too long (must be <= 63)");
    }
    return value | (b << i);
  }
public static long readUnsignedVarLong ( final BytesContainer bytes ) { long value = 0L ; int i = 0 ; long b ; while ( ( ( b = bytes . bytes [ bytes . offset ++ ] ) & 0x80 L ) != 0 ) { value |= ( b & 0x7F ) << i ; i += 7 ; if ( i > 63 ) throw new IllegalArgumentException ( "Variable length quantity is too long (must be <= 63)" ) ; } return value | ( b << i ) ; }
@param bytes to read bytes from

@return decode value

@throws IllegalArgumentException if variable-length value does not terminate after 9 bytes have been read
@param bytes to read bytes from