code: public void add(Counter<? extends T> counter) {
          for (Map.Entry<? extends T,Integer> e : counter) {
              T t = e.getKey();
              Integer cur = counts.get(t);
              counts.put(t, (cur == null) ? e.getValue() : cur + e.getValue());
          }
      }
docs: Adds the counts from the provided {@code Counter} to the current counts,
  adding new elements as needed.