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();
    }
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)}?
TODO : Why is this separate from {