// Path: src/main/java/javafixes/common/function/TriFunction.java
// @FunctionalInterface
// public interface TriFunction<A, B, C, D> {
// 
//     /**
//      * Applies this function to the given arguments.
//      *
//      * @param a the first function argument
//      * @param b the second function argument
//      * @param c the third function argument
//      * @return the function result
//      */
//     D apply(A a, B b, C c);
// }


import javafixes.common.function.TriFunction;
     */
    public A a() {
        return a;
    }

    /**
     * Returns second value
     *
     * @return second value
     */
    public B b() {
        return b;
    }

    /**
     * Returns third value
     *
     * @return third value
     */
    public C c() {
        return c;
    }

    /**
     * Maps wrapped values using a provided {@code TriFunction}
     *
     * @param mapper function to map wrapped values
     * @param <D>    the type of generated value
     * @return value generated via the mapping function
     */
// Path: src/main/java/javafixes/common/function/TriFunction.java
// @FunctionalInterface
// public interface TriFunction<A, B, C, D> {
// 
//     /**
//      * Applies this function to the given arguments.
//      *
//      * @param a the first function argument
//      * @param b the second function argument
//      * @param c the third function argument
//      * @return the function result
//      */
//     D apply(A a, B b, C c);
// }


// Path: src/main/java/javafixes/object/Triple.java
import javafixes.common.function.TriFunction;

     */
    public A a() {
        return a;
    }

    /**
     * Returns second value
     *
     * @return second value
     */
    public B b() {
        return b;
    }

    /**
     * Returns third value
     *
     * @return third value
     */
    public C c() {
        return c;
    }

    /**
     * Maps wrapped values using a provided {@code TriFunction}
     *
     * @param mapper function to map wrapped values
     * @param <D>    the type of generated value
     * @return value generated via the mapping function
     */
    public <D> D map(TriFunction<? super A, ? super B, ? super C, ? extends D> mapper) {