### Question:
Int2LongOpenHashMapWritable extends Int2LongOpenHashMap implements Writable { public void lazyplus(Int2LongOpenHashMapWritable m) { int[] k = m.getKeys(); long[] v = m.getValues(); for (int i = 0; i < k.length; i++) { if (this.containsKey(k[i])) { this.put(k[i], this.get(k[i]) + v[i]); } else { this.put(k[i], v[i]); } } } Int2LongOpenHashMapWritable(); void readFields(DataInput in); void decode(); boolean hasBeenDecoded(); void write(DataOutput out); byte[] serialize(); static Int2LongOpenHashMapWritable create(DataInput in); static Int2LongOpenHashMapWritable create(byte[] bytes); void plus(Int2LongOpenHashMapWritable m); long dot(Int2LongOpenHashMapWritable m); void increment(int key); void increment(int key, long n); static void setLazyDecodeFlag(boolean b); static boolean getLazyDecodeFlag(); int[] getKeys(); long[] getValues(); void lazyplus(Int2LongOpenHashMapWritable m); Int2LongMap.Entry[] getEntriesSortedByValue(); Int2LongMap.Entry[] getEntriesSortedByValue(int k);  }### Answer:
@Test public void testLazyPlus() throws IOException { Int2LongOpenHashMapWritable m1 = new Int2LongOpenHashMapWritable(); m1.put(1, 5L); m1.put(2, 22L); Int2LongOpenHashMapWritable m2 = new Int2LongOpenHashMapWritable(); m2.put(1, 4L); m2.put(3, 5L); Int2LongOpenHashMapWritable.setLazyDecodeFlag(true); Int2LongOpenHashMapWritable m3 = Int2LongOpenHashMapWritable.create(m2.serialize()); assertEquals(0, m3.size()); m1.lazyplus(m3); assertEquals(3, m1.size()); assertEquals(9L, m1.get(1)); assertEquals(22L, m1.get(2)); assertEquals(5L, m1.get(3)); Int2LongOpenHashMapWritable.setLazyDecodeFlag(false); }