public static <T, T0, T1, T2, T3> Function<T, Tuple4OfNullables<T0, T1, T2, T3>> toTupleOfNullables(
            Function<T, T0> m0,
            Function<T, T1> m1,
            Function<T, T2> m2,
            Function<T, T3> m3) {
        return new Tuple4OfNullablesMapperImpl<>(m0, m1, m2, m3);
    }
Creates and returns a Function that, when applied, creates a {@link
Tuple4OfNullables} from an initial object of type T by applying the given
mappers.

@param <T>  type of the initial object to be used by the function to
            create a {@link Tuple4 }
@param <T0> target type of m0
@param <T1> target type of m1
@param <T2> target type of m2
@param <T3> target type of m3
@param m0   mapper to apply for Tuple4's element 0
@param m1   mapper to apply for Tuple4's element 1
@param m2   mapper to apply for Tuple4's element 2
@param m3   mapper to apply for Tuple4's element 3
@return     a Function that, when applied, creates a {@link Tuple4} from
            an initial object of type T by applying the given mappers.

@see Tuple4
@see Tuple
common-parent/tuple/src/main/java/com/speedment/common/tuple/TuplesOfNullables.java