public static DLSN deserializeBytes(byte[] data){
  ByteBuffer bb=ByteBuffer.wrap(data);
  byte version=bb.get();
  if (VERSION0 == version) {
    if (VERSION0_LEN != data.length) {
      throw new IllegalArgumentException("Invalid version zero DLSN " + Hex.encodeHexString(data));
    }
  }
 else   if (VERSION1 == version) {
    if (VERSION1_LEN != data.length) {
      throw new IllegalArgumentException("Invalid version one DLSN " + Hex.encodeHexString(data));
    }
  }
 else {
    throw new IllegalArgumentException("Invalid DLSN : version = " + version + ", "+ Hex.encodeHexString(data));
  }
  return new DLSN(bb.getLong(),bb.getLong(),bb.getLong());
}

public static DLSN deserializeBytes ( byte [ ] data ) { ByteBuffer bb = ByteBuffer . wrap ( data ) ; byte version = bb . get ( ) ; if ( VERSION0 == version ) { if ( VERSION0_LEN != data . length ) { throw new IllegalArgumentException ( "Invalid version zero DLSN " + Hex . encodeHexString ( data ) ) ; } } else if ( VERSION1 == version ) { if ( VERSION1_LEN != data . length ) { throw new IllegalArgumentException ( "Invalid version one DLSN " + Hex . encodeHexString ( data ) ) ; } } else { throw new IllegalArgumentException ( "Invalid DLSN : version = " + version + ", " + Hex . encodeHexString ( data ) ) ; } return new DLSN ( bb . getLong ( ) , bb . getLong ( ) , bb . getLong ( ) ) ; }
deserialize the dlsn from bytes array .
