protected <T extends Enum<T>> OperationObserver<T> createObserver(String name, Class<T> outcome, boolean canBeDisabled) {
    if(!operationStatisticsEnabled && canBeDisabled) {
      return ZeroOperationStatistic.get();
    }
    return operation(outcome).named(name).of(this).tag(getStatisticsTag()).build();
  }
protected < T extends Enum < T > > OperationObserver < T > createObserver ( String name , Class < T > outcome , boolean canBeDisabled ) { if ( ! operationStatisticsEnabled && canBeDisabled ) { return ZeroOperationStatistic . get ( ) ; } return operation ( outcome ) . named ( name ) . of ( this ) . tag ( getStatisticsTag ( ) ) . build ( ) ; }
Create an {@code OperationObserver} using {@code this} for the context.

@param name name of the statistic
@param outcome class of the possible outcomes
@param canBeDisabled if this statistic can be disabled by a {@link StoreStatisticsConfiguration}
@param <T> type of the outcome
@return the created observer