src/main/java/eu/digitisation/math/BiCounter.java
public BiCounter<T1, T2> add(BiCounter<T1, T2> counter) {
        for (Map.Entry<Pair<T1, T2>, Integer> entry : counter.entrySet()) {
            Pair<T1, T2> key = entry.getKey();
            Integer value = entry.getValue();
            add(key.first, key.second, value);
        }
        return this;
    }
/**
     * Increment the count for an pair with the value stored in another
     * BiCounter.
     *
     * @param counter the counter whose values will be added to this one.
     * @return this BiCounter
     */
Increment the count for an pair with the value stored in another
BiCounter.

@param counter the counter whose values will be added to this one.
Increment the count for an pair with the value stored in another BiCounter . @param counter the counter whose values will be added to this one .
public BiCounter<T1, T2> add(BiCounter<T1, T2> counter) {
        for (Map.Entry<Pair<T1, T2>, Integer> entry : counter.entrySet()) {
            Pair<T1, T2> key = entry.getKey();
            Integer value = entry.getValue();
            add(key.first, key.second, value);
        }
        return this;
    }
public BiCounter < T1 , T2 > add ( BiCounter < T1 , T2 > counter ) { for ( Map . Entry < Pair < T1 , T2 > , Integer > entry : counter . entrySet ( ) ) { Pair < T1 , T2 > key = entry . getKey ( ) ; Integer value = entry . getValue ( ) ; add ( key . first , key . second , value ) ; } return this ; }
Increment the count for an pair with the value stored in another
 BiCounter.
Increment the count for an pair with the value stored in another BiCounter .