private InterpreterBase CreateInstance(Type aType)
        {
            object[]        parameters = new object[] { };
            InterpreterBase ret        = (InterpreterBase)Activator.CreateInstance(aType, parameters);

            return(ret);
        }
        public InterpreterBase FindSuitableInterpreter(Extractor.Extractor aExtractor)
        {
            InterpreterBase ret = null;

            //
            foreach (Type type in iTypes)
            {
                InterpreterBase interpreter = CreateInstance(type);
                try
                {
                    bool canDoIt = interpreter.CanInterpretFrom(aExtractor);
                    if (canDoIt)
                    {
                        ret = interpreter;
                        break;
                    }
                }
                catch (Exception)
                {
                }
            }
            //
            return(ret);
        }