public static MethodDescriptorCollection CreateStaticMethodDescriptors(ICustomAttributeProvider provider)
        {
            var descriptors = new MethodDescriptorCollection();
            var attrs = provider.GetCustomAttributes(typeof(CommandStaticMethodAttribute), true);

            foreach (var item in attrs)
            {
                if (item is CommandStaticMethodAttribute == false)
                    continue;
                var attr = item as CommandStaticMethodAttribute;

                var staticDescriptors = CommandDescriptor.GetMethodDescriptors(attr.StaticType);
                descriptors.AddRange(Filter(staticDescriptors, attr.MethodNames));
            }

            return descriptors;
        }