@Override public byte[] fromByteArray(Slice fragment){
  if (fragment == null || fragment.buffer == null) {
    return null;
  }
 else   if (fragment.offset == 0 && fragment.length == fragment.buffer.length) {
    return fragment.buffer;
  }
 else {
    byte[] buffer=new byte[fragment.buffer.length];
    System.arraycopy(fragment.buffer,fragment.offset,buffer,0,fragment.length);
    return buffer;
  }
}

@ Override public byte [ ] fromByteArray ( Slice fragment ) { if ( fragment == null || fragment . buffer == null ) { return null ; } else if ( fragment . offset == 0 && fragment . length == fragment . buffer . length ) { return fragment . buffer ; } else { byte [ ] buffer = new byte [ fragment . buffer . length ] ; System . arraycopy ( fragment . buffer , fragment . offset , buffer , 0 , fragment . length ) ; return buffer ; } }
covert the bytes into object useful for downstream node .
