public IEnumerable <IResource> GetResources()
        {
            yield return(new ServerRolesContext(ServerRoles.EmptyToNull() ?? new[] { ServerRole.ContentManagement | ServerRole.ContentDelivery | ServerRole.Publishing | ServerRole.ContentIndexing }));

            var context      = new GenericSitecoreInformationContext(ServiceClient ?? DefaultServiceClient);
            var instanceName = InstanceName;

            if (!string.IsNullOrEmpty(instanceName))
            {
                context.InstanceName = instanceName;
            }

            var assemblies = Assemblies;

            if (assemblies != null)
            {
                context.Assemblies = new AssemblyFileCollection(assemblies);
            }

            var version = Version;

            if (version != null)
            {
                context.SetVersion(version);
            }

            var configuration = Configuration;

            if (configuration != null)
            {
                context.Configuration = configuration;
                context.WebConfigFile = configuration;
            }

            var include = IncludeFiles;

            if (include != null)
            {
                context.IncludeFiles = include;
            }

            var globalAsax = GlobalAsaxFile;

            if (globalAsax != null)
            {
                context.GlobalAsaxFile = globalAsax;
            }

            var pipelines = Pipelines;

            if (pipelines != null)
            {
                context.Pipelines = pipelines.ToDictionary(x => x.Name, x => x);
            }

            var defaultPipelines = DefaultPipelines;

            if (defaultPipelines != null)
            {
                context.DefaultsContext.Pipelines = defaultPipelines.ToDictionary(x => x.Name, x => x);
            }

            var installedModules = InstalledModules;

            if (installedModules != null)
            {
                context.ModulesInformation = new MockModulesContext(installedModules);
            }

            yield return(context);
        }