static AdaptivePerformanceSubsystemDescriptor RegisterDescriptor()
 {
     return(AdaptivePerformanceSubsystemDescriptor.RegisterDescriptor(new AdaptivePerformanceSubsystemDescriptor.Cinfo
     {
         id = "TestAdaptivePerformanceSubsystem",
         subsystemImplementationType = typeof(TestAdaptivePerformanceSubsystem)
     }));
 }
        /// <summary>
        /// Only for internal use.
        /// </summary>
        /// <param name="cinfo"></param>
        /// <returns></returns>
        public static AdaptivePerformanceSubsystemDescriptor RegisterDescriptor(AdaptivePerformanceSubsystemDescriptor.Cinfo cinfo)
        {
            var desc = new AdaptivePerformanceSubsystemDescriptor(cinfo);

            if (SubsystemRegistration.CreateDescriptor(desc))
            {
                return(desc);
            }
            else
            {
                var registeredDescriptors = GetRegisteredDescriptors();
                foreach (var d in registeredDescriptors)
                {
                    if (d.subsystemImplementationType == cinfo.subsystemImplementationType)
                    {
                        return(d);
                    }
                }
            }
            return(null);
        }