private TextWriter ObtainTextWriter(bool forceConsoleOut)
        {
            if (forceConsoleOut || OutputRedirectionDetector.IsOutputRedirected())
            {
                return(System.Console.Out);
            }

            var stream = System.Console.OpenStandardOutput();

            return(new StreamWriter(stream, System.Console.OutputEncoding, bufferSize, true)
            {
                AutoFlush = false
            });
        }
 public ConsoleFeaturesDetector()
 {
     AreColorsSupported = !(System.Console.IsOutputRedirected || OutputRedirectionDetector.IsOutputRedirected());
 }