code: public final int deserialize (final ByteBuffer pdu) throws InternetSCSIException , IOException , DigestException {
  
          int offset = deserializeBasicHeaderSegment(pdu);
  
          offset += deserializeAdditionalHeaderSegments(pdu, offset);
  
          offset += deserializeDataSegment(pdu, offset);
  
          basicHeaderSegment.getParser().checkIntegrity();
  
          return offset;
      }
docs: Deserializes (parses) a given byte representation of a PDU to an PDU object.
  
  @param pdu The byte representation of an PDU to parse.
  @return The number of bytes, which are serialized.
  @throws InternetSCSIException If any violation of the iSCSI-Standard emerge.
  @throws IOException if an I/O error occurs.
  @throws DigestException There is a mismatch of the digest.