code: @Override
  	public void read(final DataInput in) throws IOException {
  		int size = in.readInt();
  		this.map.clear();
  
  		try {
  			for (; size > 0; size--) {
  				final K key = this.keyClass.newInstance();
  				final V val = this.valueClass.newInstance();
  				key.read(in);
  				val.read(in);
  				this.map.put(key, val);
  			}
  		} catch (final InstantiationException e) {
  			throw new RuntimeException(e);
  		} catch (final IllegalAccessException e) {
  			throw new RuntimeException(e);
  		}
  	}
docs: /*
  (non-Javadoc)
  @see eu.stratosphere.nephele.io.IOReadableWritable#read(java.io.DataInput)