public ViewModelBuilder(
     IViewModelFactory viewModelFactory,
     UserManager userManager,
     RoleManager roleManager,
     ClaimTypeManager claimTypeManager,
     PermissionManager permissionManager,
     ResourcePermissionManager resourcePermissionManager,
     ApiResourceManager apiResourceManager,
     ResourcePermissionTypeActionManager resourcePermissionTypeActionManager,
     ClientManager clientManager,
     IdentityResourceManager identityResourceManager,
     GrantTypeManager grantTypeManager,
     IdentityUserManager identityUserManager,
     ResourcePermissionTypeManager resourcePermissionTypeManager,
     DynamicModuleManager dynamicModuleManager,
     DynamicModuleProvider dynamicModuleProvider,
     IFileResourceManager fileResourceManager,
     IMapper mapper,
     IModuleLocalization moduleLocalization,
     HashManager hashManager,
     ScopeManager scopesManager)
 {
     m_viewModelFactory                    = viewModelFactory;
     m_userManager                         = userManager;
     m_roleManager                         = roleManager;
     m_claimTypeManager                    = claimTypeManager;
     m_permissionManager                   = permissionManager;
     m_resourcePermissionManager           = resourcePermissionManager;
     m_resourcePermissionTypeActionManager = resourcePermissionTypeActionManager;
     m_apiResourceManager                  = apiResourceManager;
     m_clientManager                       = clientManager;
     m_identityResourceManager             = identityResourceManager;
     m_grantTypeManager                    = grantTypeManager;
     m_identityUserManager                 = identityUserManager;
     m_resourcePermissionTypeManager       = resourcePermissionTypeManager;
     m_dynamicModuleManager                = dynamicModuleManager;
     m_dynamicModuleProvider               = dynamicModuleProvider;
     m_fileResourceManager                 = fileResourceManager;
     m_mapper             = mapper;
     m_moduleLocalization = moduleLocalization;
     this.m_hashManager   = hashManager;
     m_scopesManager      = scopesManager;
 }
 protected abstract BaseModuleConfigurationViewModel CreateViewModel(TConfig configuration, IModuleLocalization localization);
        public BaseModuleConfigurationViewModel CreateViewModel(IModuleConfiguration configuration, IModuleLocalization localization)
        {
            if (!(configuration is TConfig))
            {
                throw new InvalidOperationException(
                          $"ViewModel can be created only from type {typeof(TConfig)}"
                          );
            }

            return(CreateViewModel((TConfig)configuration, localization));
        }