public virtual Counter GetCounter <_T0>(Enum <_T0> key) where _T0 : Enum <E> { CounterGroup group = GetCounterGroup(key.GetDeclaringClass().FullName); return(group == null ? null : group.GetCounter(key.Name())); }