code: private boolean branchBasedOnUnsizedObject(int seen) {
          if ((seen == Const.IF_ACMPEQ) || (seen == Const.IF_ACMPNE)) {
              return true;
          }
  
          if (((seen != Const.IFNE) && (seen != Const.IFEQ)) || (stack.getStackDepth() == 0)) {
              return false;
          }
  
          OpcodeStack.Item itm = stack.getStackItem(0);
          XMethod xm = itm.getReturnValueOf();
          if (xm == null) {
              return false;
          }
  
          FQMethod fqm = new FQMethod(xm.getClassName().replace('.', '/'), xm.getName(), xm.getSignature());
  
          if (ITERATOR_HASNEXT.equals(fqm)) {
              PSCUserValue uv = (PSCUserValue) itm.getUserValue();
              if (uv == null) {
                  return true;
              }
  
              return !uv.hasSizedSource();
          }
  
          return UNSIZED_SOURCES.contains(fqm);
      }
docs: returns if the conditional is based on a method call from an object that has no sizing to determine what presize should be. it's possible the correct
  implementation should just return true, if <code>if ((seen != IFNE) || (stack.getStackDepth() == 0))</code>
  
  @param seen
  the current visited opcode
  @return whether this conditional is based on a unsized object