public FileAssociationDescriptor([NotNull] IFileAssociation instance, [NotNull] FileAssociationAttribute attribute)
            {
                Assert.ArgumentNotNull(instance, nameof(instance));
                Assert.ArgumentNotNull(attribute, nameof(attribute));

                Instance  = instance;
                Attribute = attribute;
            }
        public static void LoadType([NotNull] Type type, [NotNull] FileAssociationAttribute attribute)
        {
            Assert.ArgumentNotNull(type, nameof(type));
            Assert.ArgumentNotNull(attribute, nameof(attribute));

            var instance = Activator.CreateInstance(type) as IFileAssociation;

            if (instance == null)
            {
                Trace.TraceError(string.Format("{0} does not implement interface 'IFileAssociation'", type.FullName));
                return;
            }

            var descriptor = new FileAssociationDescriptor(instance, attribute);

            associations.Add(descriptor);
        }