code: public int readFromSkipPayload(ByteArrayDataInputStream in) throws IOException, ClassNotFoundException {
  
          // 1. read the leading byte first
          byte leading=in.readByte();
  
          // 2. the flags
          flags=in.readShort();
  
          // 3. dest_addr
          if(Util.isFlagSet(leading, DEST_SET))
              dest=Util.readAddress(in);
  
          // 4. src_addr
          if(Util.isFlagSet(leading, SRC_SET))
              sender=Util.readAddress(in);
  
          // 5. headers
          int len=in.readShort();
          headers=createHeaders(len);
          for(int i=0; i < len; i++) {
              short id=in.readShort();
              Header hdr=readHeader(in).setProtId(id);
              this.headers[i]=hdr;
          }
  
          // 6. buf
          if(!Util.isFlagSet(leading, BUF_SET))
              return -1;
  
          length=in.readInt();
          return in.position();
      }
docs: Reads the message's contents from an input stream, but skips the buffer and instead returns the
  position (offset) at which the buffer starts