public UsingsSorter(StyleCopSettings settings, SemanticModel semanticModel, CompilationUnitSyntax compilationUnit, ImmutableArray <SyntaxTrivia> fileHeader)
            {
                this.separateSystemDirectives      = settings.OrderingRules.SystemUsingDirectivesFirst;
                this.insertBlankLinesBetweenGroups = settings.OrderingRules.BlankLinesBetweenUsingGroups == OptionSetting.Require;

                this.semanticModel = semanticModel;
                this.fileHeader    = fileHeader;

                this.sourceMap = SourceMap.FromCompilationUnit(compilationUnit);

                this.ProcessUsingDirectives(compilationUnit.Usings);
                this.ProcessMembers(compilationUnit.Members);
            }