code: public static <K, V, R extends Map<K, V>> R selectMapOnEntry(
              Map<K, V> map,
              final Predicate2<? super K, ? super V> predicate,
              R target)
      {
          final Procedure2<K, V> mapTransferProcedure = new MapPutProcedure<K, V>(target);
          Procedure2<K, V> procedure = new Procedure2<K, V>()
          {
              public void value(K key, V value)
              {
                  if (predicate.accept(key, value))
                  {
                      mapTransferProcedure.value(key, value);
                  }
              }
          };
          MapIterate.forEachKeyValue(map, procedure);
  
          return target;
      }
docs: For each <em>entry</em> of the source map, the Predicate2 is evaluated.
  If the result of the evaluation is true, the map entry is moved to a result map.
  The result map is returned containing all entries in the source map that evaluated to true.