### Question:
Octuple extends Septuple<R, S, T, U, V, W, X> implements Eighth<Y>,
                   MappableEighth<Y, Octuple<R, S, T, U, V, W, X, ?>> { @Override public Y getEighth() { return eighth; } Octuple(R first, S second, T third, U fourth, V fifth, W sixth, X seventh, Y eighth); static Octuple<R, S, T, U, V, W, X, Y> octuple(
            R first, S second, T third, U fourth, V fifth, W sixth, X seventh, Y eighth); @Override Y getEighth(); @Override Octuple<A, S, T, U, V, W, X, Y> mapFirst(UnaryFunction<R, A> function); @Override Octuple<R, A, T, U, V, W, X, Y> mapSecond(UnaryFunction<S, A> function); @Override Octuple<R, S, A, U, V, W, X, Y> mapThird(UnaryFunction<T, A> function); @Override Octuple<R, S, T, A, V, W, X, Y> mapFourth(UnaryFunction<U, A> function); @Override Octuple<R, S, T, U, A, W, X, Y> mapFifth(UnaryFunction<V, A> function); @Override Octuple<R, S, T, U, V, A, X, Y> mapSixth(UnaryFunction<W, A> function); @Override Octuple<R, S, T, U, V, W, A, Y> mapSeventh(UnaryFunction<X, A> function); @Override Octuple<R, S, T, U, V, W, X, A> mapEighth(UnaryFunction<Y, A> function); @Override Iterable<Object> getValues();  }### Answer:
@Test public void shouldReturnTheEighthObject() { Eighth<Age> octuple = tuple(5, "Five", true, 3.6, 23L, name("fred"), colour("blue"), age(25)); Age eighth = octuple.getEighth(); assertThat(eighth, is(age(25))); }