class BeanConversionService implements ConversionService {

    public <U, T> T convert(U source, Class<T> aClass, BiFunction<U, T, T>... onTheFlyConvert) {
        T current = convert(source, aClass);
        for (BiFunction<U, T, T> function : onTheFlyConvert) {
            current = function.apply(source, current);
        }
        return current;
    }

}