docs: public void parseInto(MapFieldLite<K, V> map, CodedInputStream input, ExtensionRegistryLite extensionRegistry)
              throws IOException {
          int length = input.readRawVarint32();
          final int oldLimit = input.pushLimit(length);
          K key = metadata.defaultKey;
          V value = metadata.defaultValue;
  
          while (true) {
              int tag = input.readTag();
              if (tag == 0) {
                  break;
              }
              if (tag == CodedConstant.makeTag(KEY_FIELD_NUMBER, metadata.keyType.getWireType())) {
                  key = parseField(input, extensionRegistry, metadata.keyType, key);
              } else if (tag == CodedConstant.makeTag(VALUE_FIELD_NUMBER, metadata.valueType.getWireType())) {
                  value = parseField(input, extensionRegistry, metadata.valueType, value);
              } else {
                  if (!input.skipField(tag)) {
                      break;
                  }
              }
          }
  
          input.checkLastTagWas(0);
          input.popLimit(oldLimit);
          map.put(key, value);
      }