code: public static long bytes_to_long(byte[] bytes, int offset) {
  		if(bytes.length-offset<8)
  			throw new PickleException("too few bytes to convert to long");
  		long i = bytes[7+offset] & 0xff;
  		i <<= 8;
  		i |= bytes[6+offset] & 0xff;
  		i <<= 8;
  		i |= bytes[5+offset] & 0xff;
  		i <<= 8;
  		i |= bytes[4+offset] & 0xff;
  		i <<= 8;
  		i |= bytes[3+offset] & 0xff;
  		i <<= 8;
  		i |= bytes[2+offset] & 0xff;
  		i <<= 8;
  		i |= bytes[1+offset] & 0xff;
  		i <<= 8;
  		i |= bytes[offset] & 0xff;
  		return i;
  	}
docs: Convert 8 little endian bytes into a long