Looking closer that is actually what the BiAction interface is for on the ConcurrentHashMapV8 is for to allow for more flexible actions.  I would recommend using that instead of Action.
```
public interface BiAction<A,B> { void apply(A a, B b); }

public void forEach(long parallelismThreshold,
         BiAction<? super K,? super V> action) {
   ...
}
```