static < K , V > Map . Entry < K , V > parseEntry ( CodedInputStream input , Metadata < K , V > metadata , ExtensionRegistryLite extensionRegistry ) throws IOException { 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 ; } } } return new AbstractMap . SimpleImmutableEntry < K , V > ( key , value ) ; }
Parses the entry .