code: public synchronized ICounter createCounter (final CounterConfig config)
    {
      ValueEnforcer.notNull (config, "Config");
      ValueEnforcer.isFalse (m_bShutdown, "counter manager is shutdown");
  
      final ICounter aCounter = config.createCounter ();
      if (aCounter instanceof SampledCounter)
      {
        final SampledCounter sampledCounter = (SampledCounter) aCounter;
        m_aTimer.schedule (sampledCounter.getTimerTask (),
                           sampledCounter.getIntervalMillis (),
                           sampledCounter.getIntervalMillis ());
      }
      m_aCounters.add (aCounter);
      return aCounter;
    }
docs: {@inheritDoc}