code: public int estimateSizeOfUnassembledValue(byte[] frame, int offset, int indirect) {
      if (indirect == 0)
        return estimateUnassembledSize(frame, offset);
      else
        return coder.estimateUnassembledSize(frame, offset);
    }
docs: estimateSizeOfUnassembledValue
  Return the estimated size of the value if unassembled.
  This size includes a guess at the heap overhead of the object(s) which
  would be created.
  
  @param frame the byte array from which the object would be deserialized.
  @param offset the byte at which to start in frame
  @param indirect the list indirection that applies to the object or -1 if the
  JSField's maximum list indirection (based on the number of JSRepeated nodes that
  dominate it in the schema) is to be used: this, of course, includes the possibility
  that it isn't a list at all.
  
  @return int the estimated size of the unassembled object in the heap.