public virtual void Run(string inputEncodingName, string outputEncodingName, string inputFileName)
        {
            SpecificToSpecificProcessor specificToSpecificProcessor = new SpecificToSpecificProcessor(inputEncodingName, outputEncodingName);

            using (Stream inputStream = GetInputStream(inputFileName))
            {
                Run(inputStream, Console.OpenStandardOutput(), specificToSpecificProcessor);
            }
        }
        public virtual void Run(string inputEncodingName, string outputEncodingName)
        {
            SpecificToSpecificProcessor specificToSpecificProcessor = new SpecificToSpecificProcessor(inputEncodingName, outputEncodingName);

            Run(Console.OpenStandardInput(), Console.OpenStandardOutput(), specificToSpecificProcessor);
        }
        public virtual void Run(string inputEncodingName, string outputEncodingName, Stream inputStream, Stream outputStream)
        {
            SpecificToSpecificProcessor specificToSpecificProcessor = new SpecificToSpecificProcessor(inputEncodingName, outputEncodingName);

            Run(inputStream, outputStream, specificToSpecificProcessor);
        }