@@ -0,0 +1,975 @@
+package ohnosequences.multisets.java;%0A%0Aimport com.koloboke.compile.*;%0A// import com.koloboke.%0Aimport java.util.Map;%0Aimport java.util.function.*;%0A%0A@KolobokeMap%0A@ConcurrentModificationUnchecked%0Apublic abstract class FastMap%3CK%3E %7B%0A%0A  public static %3CK%3E FastMap%3CK%3E withExpectedSize(int expectedSize) %7B%0A      return new KolobokeFastMap%3CK%3E(expectedSize);%0A  %7D%0A%0A  abstract void justPut(K key, long value);%0A%0A  abstract long addValue(K key, long addition);%0A%0A  abstract long getLong(K key);%0A%0A  abstract int size();%0A%0A  abstract long merge(%0A    K key,%0A    long value,%0A    LongBinaryOperator remappingFunction%0A  );%0A%0A  abstract void forEach(ObjLongConsumer%3C? super K%3E action);%0A%0A  public %3CX%3E FastMap%3CX%3E flatMap(Function%3CK,FastMap%3CX%3E%3E f) %7B%0A%0A    // random number%0A    FastMap%3CX%3E xs = withExpectedSize( this.size() );%0A%0A    this.forEach(%0A      (k,n) -%3E %7B%0A        FastMap%3CX%3E fk = f.apply(k);%0A        fk.forEach(%0A          (x,m) -%3E xs.addValue(x, m*n)%0A        );%0A      %7D%0A    );%0A%0A    return xs;%0A  %7D%0A%7D%0A

add a koloboke-based Map of longs class