protected override IApplicationModule OnBuild(IApplication application)
        {
            var assetsModule    = application.GetModule <IAssetsModule>();
            var serializeModule = application.GetModule <ISerializeModule>();
            IDescriptionModuleDescription description = GetDescription();

            return(new DescriptionModule(assetsModule, serializeModule, description));
        }
 public DescriptionModule(IAssetsModule assetsModule, ISerializeModule serializeModule, IDescriptionModuleDescription description)
 {
     AssetsModule    = assetsModule ?? throw new ArgumentNullException(nameof(assetsModule));
     SerializeModule = serializeModule ?? throw new ArgumentNullException(nameof(serializeModule));
     Description     = description ?? throw new ArgumentNullException(nameof(description));
     Descriptions    = new ReadOnlyDictionary <string, IDescription>(m_descriptions);
 }