guava/src/com/google/common/collect/Serialization.java
static <K, V> void populateMultimap(
      Multimap<K, V> multimap, ObjectInputStream stream, int distinctKeys)
      throws IOException, ClassNotFoundException {
    for (int i = 0; i < distinctKeys; i++) {
      @SuppressWarnings("unchecked") // reading data stored by writeMultimap
      K key = (K) stream.readObject();
      Collection<V> values = multimap.get(key);
      int valueCount = stream.readInt();
      for (int j = 0; j < valueCount; j++) {
        @SuppressWarnings("unchecked") // reading data stored by writeMultimap
        V value = (V) stream.readObject();
        values.add(value);
      }
    }
  }
static <K, V> void populateMultimap(
      Multimap<K, V> multimap, ObjectInputStream stream, int distinctKeys)
      throws IOException, ClassNotFoundException {
    for (int i = 0; i < distinctKeys; i++) {
      @SuppressWarnings("unchecked") // reading data stored by writeMultimap
      K key = (K) stream.readObject();
      Collection<V> values = multimap.get(key);
      int valueCount = stream.readInt();
      for (int j = 0; j < valueCount; j++) {
        @SuppressWarnings("unchecked") // reading data stored by writeMultimap
        V value = (V) stream.readObject();
        values.add(value);
      }
    }
  }
static < K , V > void populateMultimap ( Multimap < K , V > multimap , ObjectInputStream stream , int distinctKeys ) throws IOException , ClassNotFoundException { for ( int i = 0 ; i < distinctKeys ; i ++ ) { @ SuppressWarnings ( "unchecked" ) // reading data stored by writeMultimap K key = ( K ) stream . readObject ( ) ; Collection < V > values = multimap . get ( key ) ; int valueCount = stream . readInt ( ) ; for ( int j = 0 ; j < valueCount ; j ++ ) { @ SuppressWarnings ( "unchecked" ) // reading data stored by writeMultimap V value = ( V ) stream . readObject ( ) ; values . add ( value ) ; } } }
Populates a multimap by reading an input stream, as part of deserialization. See {@link
#writeMultimap} for the data format. The number of distinct keys is determined by a prior call
to {@link #readCount}.
Populates a multimap by reading an input stream as part of deserialization . See {