package com.github.qrokodial.sparkle.utilities.collections;

public class Tuple<X, Y> {
    public final X x;
    public final Y y;

    /**
     * Instantiates the class.
     *
     * @param x the X component of the tuple
     * @param y the Y component of the tuple
     */
    public Tuple(X x, Y y) {
        this.x = x;
        this.y = y;
    }

    /**
     * @return the X component of the tuple
     */
    public final X getX() {
        return x;
    }

    /**
     * @return the Y component of the tuple
     */
    public final Y getY() {
        return y;
    }
}

package com.github.qrokodial.sparkle.utilities.collections;

public class Tuple<A, B> {
    public final A first;
    public final B second;

    /**
     * Instantiates the class.
     *
     * @param first  the first component of the tuple
     * @param second the second component of the tuple
     */
    public Tuple(A first, B second) {
        this.first = first;
        this.second = second;
    }

    /**
     * @return the first component of the tuple
     */
    public final A getFirst() {
        return first;
    }

    /**
     * @return the second component of the tuple
     */
    public final B getSecond() {
        return second;
    }
}

Make Tuple use 'first' and 'second' instead of 'X' and 'Y'