public void RegisterConverter(IFileConverter converter)
        {
            if (string.IsNullOrEmpty(converter.OutputType))
            {
                throw new InvalidOperationException("converter OutputType can't null or empty");
            }

            if (converter.AcceptTypes == null || converter.AcceptTypes.Count() == 0)
            {
                throw new InvalidOperationException("converter AcceptTypes can't null or empty");
            }


            var type = converter.GetType();

            if (_conveters.ContainsKey(type))
            {
                return;
            }

            _conveters[type] = converter;

            _calcConveterPathsCache.Clear();
        }