private TResult UseConverter <TResult>(Func <IProductConverter, TResult> call)
        {
            var converter = ConverterFactory.Create();
            var converted = call(converter);

            ConverterFactory.Destroy(converter);
            return(converted);
        }