/// <summary>
        /// Creates IFileProcessor Objects depending on purpose fo extraction - for compound file extraction (example word document with attachments extraction) or just for text/content
        /// </summary>
        /// <param name="extractionChoices"> Extraction Chocies Enumeration depicting purpose of file extraction </param>
        /// <returns> IFileProcessor concrete implementation object </returns>
        public static IFileProcessor CreateFileProcessor(ExtractionChoices extractionChoices)
        {
            try
            {
                switch (extractionChoices)
                {
                case ExtractionChoices.CompoundFileExtraction:
                    return(new EVCorlibFileProcessorAdapter());

                default: throw new NotImplementedException();
                }
            }
            catch (EVException evException)
            {
                ((Exception)evException).Trace().Swallow();
            }
            catch (Exception exception)
            {
                const string ErrorCode = ErrorCodes.CreateIFileProcessorFailure;
                exception.AddErrorCode(ErrorCode).Trace().Swallow();
            }

            return(null);
        }
        /// <summary>
        /// Creates IFileProcessor Objects depending on purpose fo extraction - for compound file extraction (example word document with attachments extraction) or just for text/content
        /// </summary>
        /// <param name="extractionChoices"> Extraction Chocies Enumeration depicting purpose of file extraction </param>
        /// <returns> IFileProcessor concrete implementation object </returns>
        public static IFileProcessor CreateFileProcessor(ExtractionChoices extractionChoices)
        {
            try
            {
                switch(extractionChoices)
                {
                    case ExtractionChoices.CompoundFileExtraction:
                        return new EVCorlibFileProcessorAdapter();
                        
                    default: throw new NotImplementedException();
                }
            }
            catch (EVException evException)
            {
                ((Exception)evException).Trace().Swallow();
            }
            catch (Exception exception)
            {
                const string ErrorCode = ErrorCodes.CreateIFileProcessorFailure;
                exception.AddErrorCode(ErrorCode).Trace().Swallow();
            }

            return null;
        }