docs: public static int computeSize(int order, Object o, FieldType type, boolean list, boolean debug, File path) {
          int size = 0;
          if (o == null) {
              return size;
          }
  
          if (type == FieldType.OBJECT) {
              Class cls = o.getClass();
              Codec target = ProtobufProxy.create(cls);
              try {
                  size = target.size(o);
                  size = size + CodedOutputStream.computeRawVarint32Size(size);
                  return size + CodedOutputStream.computeTagSize(order);
              } catch (IOException e) {
                  throw new RuntimeException(e.getMessage(), e);
              }
          }
  
          if (type == FieldType.STRING) {
              size = CodedOutputStream.computeStringSizeNoTag(String.valueOf(o));
          } else if (type == FieldType.BOOL) {
              size = CodedOutputStream.computeBoolSizeNoTag(Boolean.valueOf(String.valueOf(o)));
          } else if (type == FieldType.BYTES) {
              byte[] bb = (byte[]) o;
              size = CodedOutputStream.computeBytesSizeNoTag(ByteString.copyFrom(bb));
          } else if (type == FieldType.DOUBLE) {
              size = CodedOutputStream.computeDoubleSizeNoTag(Double.valueOf(o.toString()));
          } else if (type == FieldType.FIXED32 || type == FieldType.INT32 || type == FieldType.SFIXED32
                  || type == FieldType.SINT32 || type == FieldType.UINT32) {
              size = CodedOutputStream.computeInt32SizeNoTag(Integer.valueOf(o.toString()));
          } else if (type == FieldType.FIXED64 || type == FieldType.INT64 || type == FieldType.SFIXED64
                  || type == FieldType.SINT64 || type == FieldType.UINT64) {
              size = CodedOutputStream.computeInt64SizeNoTag(Long.valueOf(o.toString()));
          } else if (type == FieldType.FLOAT) {
              size = CodedOutputStream.computeFloatSizeNoTag(Float.valueOf(o.toString()));
          } else if (type == FieldType.ENUM) {
              if (o instanceof EnumReadable) {
                  size = CodedOutputStream.computeInt32SizeNoTag(((EnumReadable) o).value());
              } else if (o instanceof Enum) {
                  size = CodedOutputStream.computeInt32SizeNoTag(((Enum) o).ordinal());
              }
          }
  
          return size;
      }