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