public void RegisterProfiler(Type targetType, IDebugProfiler profiler)
        {
            if (targetType == null)
            {
                throw new ArgumentNullException(nameof(targetType));
            }
            else if (!typeof(GameObject).IsAssignableFrom(targetType))
            {
                throw new ArgumentException("Specified target type is not a GameObject.");
            }
            if (profiler == null)
            {
                throw new ArgumentNullException(nameof(profiler));
            }

            profilers.Add(targetType, profiler);
        }
 public void RegisterProfiler <T>(IDebugProfiler profiler)
 {
     RegisterProfiler(typeof(T), profiler);
 }