src/org/kocakosm/pitaya/util/LittleEndian.java
public static long decodeLong(byte[] in, int off)
	{
		return (long) (in[off] & 0xFF)
			| ((long) (in[off + 1] & 0xFF) << 8)
			| ((long) (in[off + 2] & 0xFF) << 16)
			| ((long) (in[off + 3] & 0xFF) << 24)
			| ((long) (in[off + 4] & 0xFF) << 32)
			| ((long) (in[off + 5] & 0xFF) << 40)
			| ((long) (in[off + 6] & 0xFF) << 48)
			| ((long) (in[off + 7] & 0xFF) << 56);
	}
public static long decodeLong(byte[] in, int off)
	{
		return (long) (in[off] & 0xFF)
			| ((long) (in[off + 1] & 0xFF) << 8)
			| ((long) (in[off + 2] & 0xFF) << 16)
			| ((long) (in[off + 3] & 0xFF) << 24)
			| ((long) (in[off + 4] & 0xFF) << 32)
			| ((long) (in[off + 5] & 0xFF) << 40)
			| ((long) (in[off + 6] & 0xFF) << 48)
			| ((long) (in[off + 7] & 0xFF) << 56);
	}
Decodes the first 8 bytes starting at {@code off} of the given array
into a {@code long} value using little-endian byte ordering
convention.

@param in the encoded value.
@param off the input offset.

@return the decoded {@code long} value.

@throws NullPointerException if {@code in} is {@code null}.
@throws IndexOutOfBoundsException if {@code off} is negative or if
{@code in}'s length is lower than {@code off + 8}.