public static CounterValue newCounterValue(CounterConfiguration configuration) {
      return configuration.type() == CounterType.BOUNDED_STRONG ?
            newCounterValue(configuration.initialValue(), configuration.lowerBound(), configuration.upperBound()) :
            newCounterValue(configuration.initialValue());
   }
public static CounterValue newCounterValue ( CounterConfiguration configuration ) { return configuration . type ( ) == CounterType . BOUNDED_STRONG ? newCounterValue ( configuration . initialValue ( ) , configuration . lowerBound ( ) , configuration . upperBound ( ) ) : newCounterValue ( configuration . initialValue ( ) ) ; }
Creates the initial {@link CounterValue} based on {@link CounterConfiguration}.

@param configuration the configuration.
@return the {@link CounterValue}.