### Question:
Int2IntOpenHashMapWritable extends Int2IntOpenHashMap implements Writable { public void plus(Int2IntOpenHashMapWritable m) { for (Int2IntMap.Entry e : m.int2IntEntrySet()) { int key = e.getIntKey(); int value = e.getIntValue(); if (this.containsKey(key)) { this.put(key, this.get(key) + value); } else { this.put(key, value); } } } Int2IntOpenHashMapWritable(); @Override void readFields(DataInput in); void decode(); boolean hasBeenDecoded(); @Override void write(DataOutput out); byte[] serialize(); static Int2IntOpenHashMapWritable create(DataInput in); static Int2IntOpenHashMapWritable create(byte[] bytes); void plus(Int2IntOpenHashMapWritable m); long dot(Int2IntOpenHashMapWritable m); void increment(int key); void increment(int key, int n); static void setLazyDecodeFlag(boolean b); static boolean getLazyDecodeFlag(); int[] getKeys(); int[] getValues(); void lazyplus(Int2IntOpenHashMapWritable m); Int2IntMap.Entry[] getEntriesSortedByValue(); Int2IntMap.Entry[] getEntriesSortedByValue(int k);  }### Answer:
@Test public void testPlus() throws IOException { Int2IntOpenHashMapWritable m1 = new Int2IntOpenHashMapWritable(); m1.put(1, 5); m1.put(2, 22); Int2IntOpenHashMapWritable m2 = new Int2IntOpenHashMapWritable(); m2.put(1, 4); m2.put(3, 5); m1.plus(m2); assertEquals(3, m1.size()); assertEquals(9, m1.get(1)); assertEquals(22, m1.get(2)); assertEquals(5, m1.get(3)); }