### Question:
Int2FloatOpenHashMapWritable extends Int2FloatOpenHashMap implements Writable { public void lazyplus(Int2FloatOpenHashMapWritable m) { int[] keys = m.getKeys(); float[] values = m.getValues(); for (int i = 0; i < keys.length; i++) { if (this.containsKey(keys[i])) { this.put(keys[i], this.get(keys[i]) + values[i]); } else { this.put(keys[i], values[i]); } } } Int2FloatOpenHashMapWritable(); @Override void readFields(DataInput in); void decode(); boolean hasBeenDecoded(); @Override void write(DataOutput out); byte[] serialize(); static Int2FloatOpenHashMapWritable create(DataInput in); static Int2FloatOpenHashMapWritable create(byte[] bytes); void plus(Int2FloatOpenHashMapWritable m); int dot(Int2FloatOpenHashMapWritable m); void increment(int key); void increment(int key, float n); static void setLazyDecodeFlag(boolean b); static boolean getLazyDecodeFlag(); int[] getKeys(); float[] getValues(); void lazyplus(Int2FloatOpenHashMapWritable m); Int2FloatMap.Entry[] getEntriesSortedByValue(); Int2FloatMap.Entry[] getEntriesSortedByValue(int k);  }### Answer:
@Test public void testLazyPlus() throws IOException { Int2FloatOpenHashMapWritable m1 = new Int2FloatOpenHashMapWritable(); m1.put(1, 5.0f); m1.put(2, 22.0f); Int2FloatOpenHashMapWritable m2 = new Int2FloatOpenHashMapWritable(); m2.put(1, 4.0f); m2.put(3, 5.0f); Int2FloatOpenHashMapWritable.setLazyDecodeFlag(true); Int2FloatOpenHashMapWritable m3 = Int2FloatOpenHashMapWritable.create(m2.serialize()); assertEquals(0, m3.size()); m1.lazyplus(m3); assertEquals(3, m1.size(), 3); assertEquals(9.0f, m1.get(1), 10e-6); assertEquals(22.0f, m1.get(2), 10e-6); assertEquals(5.0f, m1.get(3), 10e-6); Int2FloatOpenHashMapWritable.setLazyDecodeFlag(false); }