public virtual TTo Convert(TFrom value)
        {
            TIntermediate intermediate = inputEnumConverter == null?inputValueTypeAdvancedConverter.Convert(value) : inputEnumConverter(value);

            return(outputEnumConverter == null?outputValueTypeAdvancedConverter.Convert(intermediate) : outputEnumConverter(intermediate));
        }
 public TTo Convert(TFrom value)
 {
     return(outputConverter(intermediateConverter2.Convert(intermediateConverter1(value))));
 }