private static BigInteger getBigIntegerFromLE(byte[] inLE, int offset, int len) {
		if (offset < 0 || offset >= inLE.length || len < 0 || offset + len > inLE.length)
			throw new IllegalArgumentException();
		byte[] bytesBE = new byte[len];
		for (int i = 0; i < len; i++) {
			bytesBE[i] = inLE[offset + len - i - 1];
		}
		boolean hasNonZero = false;
		for (int i = 0; i < len; i++) {
			if (bytesBE[i] != 0) {
				hasNonZero = true;
				break;
			}
		}
		return new BigInteger(hasNonZero ? 1 : 0, bytesBE);	// work around BigInteger bug?
	}