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);
    }
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 ) ; }
Parses an entry off of the input into the map. This helper avoids allocaton of a {@link MapEntryLite} by parsing
directly into the provided {@link MapFieldLite}.

@param map the map
@param input the input
@param extensionRegistry the extension registry
@throws IOException Signals that an I/O exception has occurred.