private long toLong(byte[] data)
    {
        if (data == null || data.length != 8)
            return 0x0;
        // ----------
        return (long) (
        // (Below) convert to longs before shift because digits
        // are lost with ints beyond the 32-bit limit
        (long) (0xff & data[0]) << 56 | (long) (0xff & data[1]) << 48 | (long) (0xff & data[2]) << 40
                | (long) (0xff & data[3]) << 32 | (long) (0xff & data[4]) << 24 | (long) (0xff & data[5]) << 16
                | (long) (0xff & data[6]) << 8 | (long) (0xff & data[7]) << 0);
    }
private long toLong ( byte [ ] data ) { if ( data == null || data . length != 8 ) return 0x0 ; return ( long ) ( ( long ) ( 0xff & data [ 0 ] ) << 56 | ( long ) ( 0xff & data [ 1 ] ) << 48 | ( long ) ( 0xff & data [ 2 ] ) << 40 | ( long ) ( 0xff & data [ 3 ] ) << 32 | ( long ) ( 0xff & data [ 4 ] ) << 24 | ( long ) ( 0xff & data [ 5 ] ) << 16 | ( long ) ( 0xff & data [ 6 ] ) << 8 | ( long ) ( 0xff & data [ 7 ] ) << 0 ) ; }
To long.

@param data
the data
@return the long