subsys/infinispan/src/main/java/org/commonjava/indy/subsys/infinispan/CacheHandle.java
protected <R> R doExecuteCache( String metricName, Function<Cache<K, V>, R> operation )
    {
        Supplier<R> execution = executionFor( operation );
        if ( metricsManager != null )
        {
            return metricsManager.wrapWithStandardMetrics( execution, () -> getMetricName( metricName ) );
        }

        return execution.get();
    }
protected <R> R doExecuteCache( String metricName, Function<Cache<K, V>, R> operation )
    {
        Supplier<R> execution = executionFor( operation );
        if ( metricsManager != null )
        {
            return metricsManager.wrapWithStandardMetrics( execution, () -> getMetricName( metricName ) );
        }

        return execution.get();
    }
TODO: Why is this separate from {@link BasicCacheHandle#execute(Function)}?