groovy-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From sun...@apache.org
Subject [7/8] groovy git commit: Move tuple improvements to its own project
Date Tue, 27 Nov 2018 13:59:25 GMT
http://git-wip-us.apache.org/repos/asf/groovy/blob/892f67cd/src/main/groovy/groovy/lang/Tuple10.java
----------------------------------------------------------------------
diff --git a/src/main/groovy/groovy/lang/Tuple10.java b/src/main/groovy/groovy/lang/Tuple10.java
index 97b6408..26f3d4e 100644
--- a/src/main/groovy/groovy/lang/Tuple10.java
+++ b/src/main/groovy/groovy/lang/Tuple10.java
@@ -20,9 +20,6 @@
 
 package groovy.lang;
 
-import groovy.util.function.Function1;
-import groovy.util.function.Function10;
-
 /**
  * Represents a list of 10 typed Objects.
  *
@@ -100,387 +97,4 @@ public final class Tuple10<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10> extends Tupl
         return v10;
     }
 
-
-    /**
-     * Concatenate a value to this tuple.
-     */
-    public final <T11> Tuple11<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11> concat(T11 value) {
-        return new Tuple11<>(v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, value);
-    }
-
-    /**
-     * Concatenate a tuple to this tuple.
-     */
-    public final Tuple10<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10> concat(Tuple0 tuple) {
-        return new Tuple10<>(v1, v2, v3, v4, v5, v6, v7, v8, v9, v10);
-    }
-
-    /**
-     * Concatenate a tuple to this tuple.
-     */
-    public final <T11> Tuple11<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11> concat(Tuple1<T11> tuple) {
-        return new Tuple11<>(v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, tuple.getV1());
-    }
-
-    /**
-     * Concatenate a tuple to this tuple.
-     */
-    public final <T11, T12> Tuple12<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12> concat(Tuple2<T11, T12> tuple) {
-        return new Tuple12<>(v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, tuple.getV1(), tuple.getV2());
-    }
-
-    /**
-     * Concatenate a tuple to this tuple.
-     */
-    public final <T11, T12, T13> Tuple13<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13> concat(Tuple3<T11, T12, T13> tuple) {
-        return new Tuple13<>(v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, tuple.getV1(), tuple.getV2(), tuple.getV3());
-    }
-
-    /**
-     * Concatenate a tuple to this tuple.
-     */
-    public final <T11, T12, T13, T14> Tuple14<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14> concat(Tuple4<T11, T12, T13, T14> tuple) {
-        return new Tuple14<>(v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, tuple.getV1(), tuple.getV2(), tuple.getV3(), tuple.getV4());
-    }
-
-    /**
-     * Concatenate a tuple to this tuple.
-     */
-    public final <T11, T12, T13, T14, T15> Tuple15<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15> concat(Tuple5<T11, T12, T13, T14, T15> tuple) {
-        return new Tuple15<>(v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, tuple.getV1(), tuple.getV2(), tuple.getV3(), tuple.getV4(), tuple.getV5());
-    }
-
-    /**
-     * Concatenate a tuple to this tuple.
-     */
-    public final <T11, T12, T13, T14, T15, T16> Tuple16<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16> concat(Tuple6<T11, T12, T13, T14, T15, T16> tuple) {
-        return new Tuple16<>(v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, tuple.getV1(), tuple.getV2(), tuple.getV3(), tuple.getV4(), tuple.getV5(), tuple.getV6());
-    }
-
-    /**
-     * Split this tuple into two tuples of degree 0 and 10.
-     */
-    public final Tuple2<Tuple0, Tuple10<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10>> split0() {
-        return new Tuple2<>(limit0(), skip0());
-    }
-
-    /**
-     * Split this tuple into two tuples of degree 1 and 9.
-     */
-    public final Tuple2<Tuple1<T1>, Tuple9<T2, T3, T4, T5, T6, T7, T8, T9, T10>> split1() {
-        return new Tuple2<>(limit1(), skip1());
-    }
-
-    /**
-     * Split this tuple into two tuples of degree 2 and 8.
-     */
-    public final Tuple2<Tuple2<T1, T2>, Tuple8<T3, T4, T5, T6, T7, T8, T9, T10>> split2() {
-        return new Tuple2<>(limit2(), skip2());
-    }
-
-    /**
-     * Split this tuple into two tuples of degree 3 and 7.
-     */
-    public final Tuple2<Tuple3<T1, T2, T3>, Tuple7<T4, T5, T6, T7, T8, T9, T10>> split3() {
-        return new Tuple2<>(limit3(), skip3());
-    }
-
-    /**
-     * Split this tuple into two tuples of degree 4 and 6.
-     */
-    public final Tuple2<Tuple4<T1, T2, T3, T4>, Tuple6<T5, T6, T7, T8, T9, T10>> split4() {
-        return new Tuple2<>(limit4(), skip4());
-    }
-
-    /**
-     * Split this tuple into two tuples of degree 5 and 5.
-     */
-    public final Tuple2<Tuple5<T1, T2, T3, T4, T5>, Tuple5<T6, T7, T8, T9, T10>> split5() {
-        return new Tuple2<>(limit5(), skip5());
-    }
-
-    /**
-     * Split this tuple into two tuples of degree 6 and 4.
-     */
-    public final Tuple2<Tuple6<T1, T2, T3, T4, T5, T6>, Tuple4<T7, T8, T9, T10>> split6() {
-        return new Tuple2<>(limit6(), skip6());
-    }
-
-    /**
-     * Split this tuple into two tuples of degree 7 and 3.
-     */
-    public final Tuple2<Tuple7<T1, T2, T3, T4, T5, T6, T7>, Tuple3<T8, T9, T10>> split7() {
-        return new Tuple2<>(limit7(), skip7());
-    }
-
-    /**
-     * Split this tuple into two tuples of degree 8 and 2.
-     */
-    public final Tuple2<Tuple8<T1, T2, T3, T4, T5, T6, T7, T8>, Tuple2<T9, T10>> split8() {
-        return new Tuple2<>(limit8(), skip8());
-    }
-
-    /**
-     * Split this tuple into two tuples of degree 9 and 1.
-     */
-    public final Tuple2<Tuple9<T1, T2, T3, T4, T5, T6, T7, T8, T9>, Tuple1<T10>> split9() {
-        return new Tuple2<>(limit9(), skip9());
-    }
-
-    /**
-     * Split this tuple into two tuples of degree 10 and 0.
-     */
-    public final Tuple2<Tuple10<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10>, Tuple0> split10() {
-        return new Tuple2<>(limit10(), skip10());
-    }
-
-    /**
-     * Limit this tuple to degree 0.
-     */
-    public final Tuple0 limit0() {
-        return Tuple0.INSTANCE;
-    }
-
-    /**
-     * Limit this tuple to degree 1.
-     */
-    public final Tuple1<T1> limit1() {
-        return new Tuple1<>(v1);
-    }
-
-    /**
-     * Limit this tuple to degree 2.
-     */
-    public final Tuple2<T1, T2> limit2() {
-        return new Tuple2<>(v1, v2);
-    }
-
-    /**
-     * Limit this tuple to degree 3.
-     */
-    public final Tuple3<T1, T2, T3> limit3() {
-        return new Tuple3<>(v1, v2, v3);
-    }
-
-    /**
-     * Limit this tuple to degree 4.
-     */
-    public final Tuple4<T1, T2, T3, T4> limit4() {
-        return new Tuple4<>(v1, v2, v3, v4);
-    }
-
-    /**
-     * Limit this tuple to degree 5.
-     */
-    public final Tuple5<T1, T2, T3, T4, T5> limit5() {
-        return new Tuple5<>(v1, v2, v3, v4, v5);
-    }
-
-    /**
-     * Limit this tuple to degree 6.
-     */
-    public final Tuple6<T1, T2, T3, T4, T5, T6> limit6() {
-        return new Tuple6<>(v1, v2, v3, v4, v5, v6);
-    }
-
-    /**
-     * Limit this tuple to degree 7.
-     */
-    public final Tuple7<T1, T2, T3, T4, T5, T6, T7> limit7() {
-        return new Tuple7<>(v1, v2, v3, v4, v5, v6, v7);
-    }
-
-    /**
-     * Limit this tuple to degree 8.
-     */
-    public final Tuple8<T1, T2, T3, T4, T5, T6, T7, T8> limit8() {
-        return new Tuple8<>(v1, v2, v3, v4, v5, v6, v7, v8);
-    }
-
-    /**
-     * Limit this tuple to degree 9.
-     */
-    public final Tuple9<T1, T2, T3, T4, T5, T6, T7, T8, T9> limit9() {
-        return new Tuple9<>(v1, v2, v3, v4, v5, v6, v7, v8, v9);
-    }
-
-    /**
-     * Limit this tuple to degree 10.
-     */
-    public final Tuple10<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10> limit10() {
-        return this;
-    }
-
-    /**
-     * Skip 0 degrees from this tuple.
-     */
-    public final Tuple10<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10> skip0() {
-        return this;
-    }
-
-    /**
-     * Skip 1 degrees from this tuple.
-     */
-    public final Tuple9<T2, T3, T4, T5, T6, T7, T8, T9, T10> skip1() {
-        return new Tuple9<>(v2, v3, v4, v5, v6, v7, v8, v9, v10);
-    }
-
-    /**
-     * Skip 2 degrees from this tuple.
-     */
-    public final Tuple8<T3, T4, T5, T6, T7, T8, T9, T10> skip2() {
-        return new Tuple8<>(v3, v4, v5, v6, v7, v8, v9, v10);
-    }
-
-    /**
-     * Skip 3 degrees from this tuple.
-     */
-    public final Tuple7<T4, T5, T6, T7, T8, T9, T10> skip3() {
-        return new Tuple7<>(v4, v5, v6, v7, v8, v9, v10);
-    }
-
-    /**
-     * Skip 4 degrees from this tuple.
-     */
-    public final Tuple6<T5, T6, T7, T8, T9, T10> skip4() {
-        return new Tuple6<>(v5, v6, v7, v8, v9, v10);
-    }
-
-    /**
-     * Skip 5 degrees from this tuple.
-     */
-    public final Tuple5<T6, T7, T8, T9, T10> skip5() {
-        return new Tuple5<>(v6, v7, v8, v9, v10);
-    }
-
-    /**
-     * Skip 6 degrees from this tuple.
-     */
-    public final Tuple4<T7, T8, T9, T10> skip6() {
-        return new Tuple4<>(v7, v8, v9, v10);
-    }
-
-    /**
-     * Skip 7 degrees from this tuple.
-     */
-    public final Tuple3<T8, T9, T10> skip7() {
-        return new Tuple3<>(v8, v9, v10);
-    }
-
-    /**
-     * Skip 8 degrees from this tuple.
-     */
-    public final Tuple2<T9, T10> skip8() {
-        return new Tuple2<>(v9, v10);
-    }
-
-    /**
-     * Skip 9 degrees from this tuple.
-     */
-    public final Tuple1<T10> skip9() {
-        return new Tuple1<>(v10);
-    }
-
-    /**
-     * Skip 10 degrees from this tuple.
-     */
-    public final Tuple0 skip10() {
-        return Tuple0.INSTANCE;
-    }
-
-    /**
-     * Apply this tuple as arguments to a function.
-     */
-    public final <R> R map(Function10<? super T1, ? super T2, ? super T3, ? super T4, ? super T5, ? super T6, ? super T7, ? super T8, ? super T9, ? super T10, ? extends R> function) {
-        return function.apply(v1, v2, v3, v4, v5, v6, v7, v8, v9, v10);
-    }
-
-    /**
-     * Apply attribute 1 as argument to a function and return a new tuple with the substituted argument.
-     */
-    public final <U1> Tuple10<U1, T2, T3, T4, T5, T6, T7, T8, T9, T10> map1(Function1<? super T1, ? extends U1> function) {
-        return new Tuple10<>(function.apply(v1), v2, v3, v4, v5, v6, v7, v8, v9, v10);
-    }
-
-    /**
-     * Apply attribute 2 as argument to a function and return a new tuple with the substituted argument.
-     */
-    public final <U2> Tuple10<T1, U2, T3, T4, T5, T6, T7, T8, T9, T10> map2(Function1<? super T2, ? extends U2> function) {
-        return new Tuple10<>(v1, function.apply(v2), v3, v4, v5, v6, v7, v8, v9, v10);
-    }
-
-    /**
-     * Apply attribute 3 as argument to a function and return a new tuple with the substituted argument.
-     */
-    public final <U3> Tuple10<T1, T2, U3, T4, T5, T6, T7, T8, T9, T10> map3(Function1<? super T3, ? extends U3> function) {
-        return new Tuple10<>(v1, v2, function.apply(v3), v4, v5, v6, v7, v8, v9, v10);
-    }
-
-    /**
-     * Apply attribute 4 as argument to a function and return a new tuple with the substituted argument.
-     */
-    public final <U4> Tuple10<T1, T2, T3, U4, T5, T6, T7, T8, T9, T10> map4(Function1<? super T4, ? extends U4> function) {
-        return new Tuple10<>(v1, v2, v3, function.apply(v4), v5, v6, v7, v8, v9, v10);
-    }
-
-    /**
-     * Apply attribute 5 as argument to a function and return a new tuple with the substituted argument.
-     */
-    public final <U5> Tuple10<T1, T2, T3, T4, U5, T6, T7, T8, T9, T10> map5(Function1<? super T5, ? extends U5> function) {
-        return new Tuple10<>(v1, v2, v3, v4, function.apply(v5), v6, v7, v8, v9, v10);
-    }
-
-    /**
-     * Apply attribute 6 as argument to a function and return a new tuple with the substituted argument.
-     */
-    public final <U6> Tuple10<T1, T2, T3, T4, T5, U6, T7, T8, T9, T10> map6(Function1<? super T6, ? extends U6> function) {
-        return new Tuple10<>(v1, v2, v3, v4, v5, function.apply(v6), v7, v8, v9, v10);
-    }
-
-    /**
-     * Apply attribute 7 as argument to a function and return a new tuple with the substituted argument.
-     */
-    public final <U7> Tuple10<T1, T2, T3, T4, T5, T6, U7, T8, T9, T10> map7(Function1<? super T7, ? extends U7> function) {
-        return new Tuple10<>(v1, v2, v3, v4, v5, v6, function.apply(v7), v8, v9, v10);
-    }
-
-    /**
-     * Apply attribute 8 as argument to a function and return a new tuple with the substituted argument.
-     */
-    public final <U8> Tuple10<T1, T2, T3, T4, T5, T6, T7, U8, T9, T10> map8(Function1<? super T8, ? extends U8> function) {
-        return new Tuple10<>(v1, v2, v3, v4, v5, v6, v7, function.apply(v8), v9, v10);
-    }
-
-    /**
-     * Apply attribute 9 as argument to a function and return a new tuple with the substituted argument.
-     */
-    public final <U9> Tuple10<T1, T2, T3, T4, T5, T6, T7, T8, U9, T10> map9(Function1<? super T9, ? extends U9> function) {
-        return new Tuple10<>(v1, v2, v3, v4, v5, v6, v7, v8, function.apply(v9), v10);
-    }
-
-    /**
-     * Apply attribute 10 as argument to a function and return a new tuple with the substituted argument.
-     */
-    public final <U10> Tuple10<T1, T2, T3, T4, T5, T6, T7, T8, T9, U10> map10(Function1<? super T10, ? extends U10> function) {
-        return new Tuple10<>(v1, v2, v3, v4, v5, v6, v7, v8, v9, function.apply(v10));
-    }
-
-    /**
-     * Maps the attributes of this tuple using a mapper function.
-     */
-    public final <U1, U2, U3, U4, U5, U6, U7, U8, U9, U10> Tuple10<U1, U2, U3, U4, U5, U6, U7, U8, U9, U10> mapAll(Function10<? super T1, ? super T2, ? super T3, ? super T4, ? super T5, ? super T6, ? super T7, ? super T8, ? super T9, ? super T10, Tuple10<U1, U2, U3, U4, U5, U6, U7, U8, U9, U10>> function) {
-        return function.apply(v1, v2, v3, v4, v5, v6, v7, v8, v9, v10);
-    }
-
-    /**
-     * Maps the attributes of this tuple using mapper functions.
-     */
-    public final <U1, U2, U3, U4, U5, U6, U7, U8, U9, U10> Tuple10<U1, U2, U3, U4, U5, U6, U7, U8, U9, U10> mapAll(Function1<? super T1, ? extends U1> function1, Function1<? super T2, ? extends U2> function2, Function1<? super T3, ? extends U3> function3, Function1<? super T4, ? extends U4> function4, Function1<? super T5, ? extends U5> function5, Function1<? super T6, ? extends U6> function6, Function1<? super T7, ? extends U7> function7, Function1<? super T8, ? extends U8> function8, Function1<? super T9, ? extends U9> function9, Function1<? super T10, ? extends U10> function10) {
-        return new Tuple10<>(function1.apply(v1), function2.apply(v2), function3.apply(v3), function4.apply(v4), function5.apply(v5), function6.apply(v6), function7.apply(v7), function8.apply(v8), function9.apply(v9), function10.apply(v10));
-    }
-
-    @Override
-    public Tuple10<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10> clone() {
-        return new Tuple10<>(this);
-    }
 }

http://git-wip-us.apache.org/repos/asf/groovy/blob/892f67cd/src/main/groovy/groovy/lang/Tuple11.java
----------------------------------------------------------------------
diff --git a/src/main/groovy/groovy/lang/Tuple11.java b/src/main/groovy/groovy/lang/Tuple11.java
index 04c4133..fbad268 100644
--- a/src/main/groovy/groovy/lang/Tuple11.java
+++ b/src/main/groovy/groovy/lang/Tuple11.java
@@ -20,9 +20,6 @@
 
 package groovy.lang;
 
-import groovy.util.function.Function1;
-import groovy.util.function.Function11;
-
 /**
  * Represents a list of 10 typed Objects.
  *
@@ -105,409 +102,4 @@ public final class Tuple11<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11> extends
     public T11 getV11() {
         return v11;
     }
-
-
-    /**
-     * Concatenate a value to this tuple.
-     */
-    public final <T12> Tuple12<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12> concat(T12 value) {
-        return new Tuple12<>(v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, value);
-    }
-
-    /**
-     * Concatenate a tuple to this tuple.
-     */
-    public final Tuple11<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11> concat(Tuple0 tuple) {
-        return new Tuple11<>(v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11);
-    }
-
-    /**
-     * Concatenate a tuple to this tuple.
-     */
-    public final <T12> Tuple12<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12> concat(Tuple1<T12> tuple) {
-        return new Tuple12<>(v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, tuple.getV1());
-    }
-
-    /**
-     * Concatenate a tuple to this tuple.
-     */
-    public final <T12, T13> Tuple13<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13> concat(Tuple2<T12, T13> tuple) {
-        return new Tuple13<>(v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, tuple.getV1(), tuple.getV2());
-    }
-
-    /**
-     * Concatenate a tuple to this tuple.
-     */
-    public final <T12, T13, T14> Tuple14<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14> concat(Tuple3<T12, T13, T14> tuple) {
-        return new Tuple14<>(v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, tuple.getV1(), tuple.getV2(), tuple.getV3());
-    }
-
-    /**
-     * Concatenate a tuple to this tuple.
-     */
-    public final <T12, T13, T14, T15> Tuple15<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15> concat(Tuple4<T12, T13, T14, T15> tuple) {
-        return new Tuple15<>(v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, tuple.getV1(), tuple.getV2(), tuple.getV3(), tuple.getV4());
-    }
-
-    /**
-     * Concatenate a tuple to this tuple.
-     */
-    public final <T12, T13, T14, T15, T16> Tuple16<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16> concat(Tuple5<T12, T13, T14, T15, T16> tuple) {
-        return new Tuple16<>(v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, tuple.getV1(), tuple.getV2(), tuple.getV3(), tuple.getV4(), tuple.getV5());
-    }
-
-    /**
-     * Split this tuple into two tuples of degree 0 and 11.
-     */
-    public final Tuple2<Tuple0, Tuple11<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11>> split0() {
-        return new Tuple2<>(limit0(), skip0());
-    }
-
-    /**
-     * Split this tuple into two tuples of degree 1 and 10.
-     */
-    public final Tuple2<Tuple1<T1>, Tuple10<T2, T3, T4, T5, T6, T7, T8, T9, T10, T11>> split1() {
-        return new Tuple2<>(limit1(), skip1());
-    }
-
-    /**
-     * Split this tuple into two tuples of degree 2 and 9.
-     */
-    public final Tuple2<Tuple2<T1, T2>, Tuple9<T3, T4, T5, T6, T7, T8, T9, T10, T11>> split2() {
-        return new Tuple2<>(limit2(), skip2());
-    }
-
-    /**
-     * Split this tuple into two tuples of degree 3 and 8.
-     */
-    public final Tuple2<Tuple3<T1, T2, T3>, Tuple8<T4, T5, T6, T7, T8, T9, T10, T11>> split3() {
-        return new Tuple2<>(limit3(), skip3());
-    }
-
-    /**
-     * Split this tuple into two tuples of degree 4 and 7.
-     */
-    public final Tuple2<Tuple4<T1, T2, T3, T4>, Tuple7<T5, T6, T7, T8, T9, T10, T11>> split4() {
-        return new Tuple2<>(limit4(), skip4());
-    }
-
-    /**
-     * Split this tuple into two tuples of degree 5 and 6.
-     */
-    public final Tuple2<Tuple5<T1, T2, T3, T4, T5>, Tuple6<T6, T7, T8, T9, T10, T11>> split5() {
-        return new Tuple2<>(limit5(), skip5());
-    }
-
-    /**
-     * Split this tuple into two tuples of degree 6 and 5.
-     */
-    public final Tuple2<Tuple6<T1, T2, T3, T4, T5, T6>, Tuple5<T7, T8, T9, T10, T11>> split6() {
-        return new Tuple2<>(limit6(), skip6());
-    }
-
-    /**
-     * Split this tuple into two tuples of degree 7 and 4.
-     */
-    public final Tuple2<Tuple7<T1, T2, T3, T4, T5, T6, T7>, Tuple4<T8, T9, T10, T11>> split7() {
-        return new Tuple2<>(limit7(), skip7());
-    }
-
-    /**
-     * Split this tuple into two tuples of degree 8 and 3.
-     */
-    public final Tuple2<Tuple8<T1, T2, T3, T4, T5, T6, T7, T8>, Tuple3<T9, T10, T11>> split8() {
-        return new Tuple2<>(limit8(), skip8());
-    }
-
-    /**
-     * Split this tuple into two tuples of degree 9 and 2.
-     */
-    public final Tuple2<Tuple9<T1, T2, T3, T4, T5, T6, T7, T8, T9>, Tuple2<T10, T11>> split9() {
-        return new Tuple2<>(limit9(), skip9());
-    }
-
-    /**
-     * Split this tuple into two tuples of degree 10 and 1.
-     */
-    public final Tuple2<Tuple10<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10>, Tuple1<T11>> split10() {
-        return new Tuple2<>(limit10(), skip10());
-    }
-
-    /**
-     * Split this tuple into two tuples of degree 11 and 0.
-     */
-    public final Tuple2<Tuple11<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11>, Tuple0> split11() {
-        return new Tuple2<>(limit11(), skip11());
-    }
-
-    /**
-     * Limit this tuple to degree 0.
-     */
-    public final Tuple0 limit0() {
-        return Tuple0.INSTANCE;
-    }
-
-    /**
-     * Limit this tuple to degree 1.
-     */
-    public final Tuple1<T1> limit1() {
-        return new Tuple1<>(v1);
-    }
-
-    /**
-     * Limit this tuple to degree 2.
-     */
-    public final Tuple2<T1, T2> limit2() {
-        return new Tuple2<>(v1, v2);
-    }
-
-    /**
-     * Limit this tuple to degree 3.
-     */
-    public final Tuple3<T1, T2, T3> limit3() {
-        return new Tuple3<>(v1, v2, v3);
-    }
-
-    /**
-     * Limit this tuple to degree 4.
-     */
-    public final Tuple4<T1, T2, T3, T4> limit4() {
-        return new Tuple4<>(v1, v2, v3, v4);
-    }
-
-    /**
-     * Limit this tuple to degree 5.
-     */
-    public final Tuple5<T1, T2, T3, T4, T5> limit5() {
-        return new Tuple5<>(v1, v2, v3, v4, v5);
-    }
-
-    /**
-     * Limit this tuple to degree 6.
-     */
-    public final Tuple6<T1, T2, T3, T4, T5, T6> limit6() {
-        return new Tuple6<>(v1, v2, v3, v4, v5, v6);
-    }
-
-    /**
-     * Limit this tuple to degree 7.
-     */
-    public final Tuple7<T1, T2, T3, T4, T5, T6, T7> limit7() {
-        return new Tuple7<>(v1, v2, v3, v4, v5, v6, v7);
-    }
-
-    /**
-     * Limit this tuple to degree 8.
-     */
-    public final Tuple8<T1, T2, T3, T4, T5, T6, T7, T8> limit8() {
-        return new Tuple8<>(v1, v2, v3, v4, v5, v6, v7, v8);
-    }
-
-    /**
-     * Limit this tuple to degree 9.
-     */
-    public final Tuple9<T1, T2, T3, T4, T5, T6, T7, T8, T9> limit9() {
-        return new Tuple9<>(v1, v2, v3, v4, v5, v6, v7, v8, v9);
-    }
-
-    /**
-     * Limit this tuple to degree 10.
-     */
-    public final Tuple10<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10> limit10() {
-        return new Tuple10<>(v1, v2, v3, v4, v5, v6, v7, v8, v9, v10);
-    }
-
-    /**
-     * Limit this tuple to degree 11.
-     */
-    public final Tuple11<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11> limit11() {
-        return this;
-    }
-
-    /**
-     * Skip 0 degrees from this tuple.
-     */
-    public final Tuple11<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11> skip0() {
-        return this;
-    }
-
-    /**
-     * Skip 1 degrees from this tuple.
-     */
-    public final Tuple10<T2, T3, T4, T5, T6, T7, T8, T9, T10, T11> skip1() {
-        return new Tuple10<>(v2, v3, v4, v5, v6, v7, v8, v9, v10, v11);
-    }
-
-    /**
-     * Skip 2 degrees from this tuple.
-     */
-    public final Tuple9<T3, T4, T5, T6, T7, T8, T9, T10, T11> skip2() {
-        return new Tuple9<>(v3, v4, v5, v6, v7, v8, v9, v10, v11);
-    }
-
-    /**
-     * Skip 3 degrees from this tuple.
-     */
-    public final Tuple8<T4, T5, T6, T7, T8, T9, T10, T11> skip3() {
-        return new Tuple8<>(v4, v5, v6, v7, v8, v9, v10, v11);
-    }
-
-    /**
-     * Skip 4 degrees from this tuple.
-     */
-    public final Tuple7<T5, T6, T7, T8, T9, T10, T11> skip4() {
-        return new Tuple7<>(v5, v6, v7, v8, v9, v10, v11);
-    }
-
-    /**
-     * Skip 5 degrees from this tuple.
-     */
-    public final Tuple6<T6, T7, T8, T9, T10, T11> skip5() {
-        return new Tuple6<>(v6, v7, v8, v9, v10, v11);
-    }
-
-    /**
-     * Skip 6 degrees from this tuple.
-     */
-    public final Tuple5<T7, T8, T9, T10, T11> skip6() {
-        return new Tuple5<>(v7, v8, v9, v10, v11);
-    }
-
-    /**
-     * Skip 7 degrees from this tuple.
-     */
-    public final Tuple4<T8, T9, T10, T11> skip7() {
-        return new Tuple4<>(v8, v9, v10, v11);
-    }
-
-    /**
-     * Skip 8 degrees from this tuple.
-     */
-    public final Tuple3<T9, T10, T11> skip8() {
-        return new Tuple3<>(v9, v10, v11);
-    }
-
-    /**
-     * Skip 9 degrees from this tuple.
-     */
-    public final Tuple2<T10, T11> skip9() {
-        return new Tuple2<>(v10, v11);
-    }
-
-    /**
-     * Skip 10 degrees from this tuple.
-     */
-    public final Tuple1<T11> skip10() {
-        return new Tuple1<>(v11);
-    }
-
-    /**
-     * Skip 11 degrees from this tuple.
-     */
-    public final Tuple0 skip11() {
-        return Tuple0.INSTANCE;
-    }
-
-    /**
-     * Apply this tuple as arguments to a function.
-     */
-    public final <R> R map(Function11<? super T1, ? super T2, ? super T3, ? super T4, ? super T5, ? super T6, ? super T7, ? super T8, ? super T9, ? super T10, ? super T11, ? extends R> function) {
-        return function.apply(v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11);
-    }
-
-    /**
-     * Apply attribute 1 as argument to a function and return a new tuple with the substituted argument.
-     */
-    public final <U1> Tuple11<U1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11> map1(Function1<? super T1, ? extends U1> function) {
-        return new Tuple11<>(function.apply(v1), v2, v3, v4, v5, v6, v7, v8, v9, v10, v11);
-    }
-
-    /**
-     * Apply attribute 2 as argument to a function and return a new tuple with the substituted argument.
-     */
-    public final <U2> Tuple11<T1, U2, T3, T4, T5, T6, T7, T8, T9, T10, T11> map2(Function1<? super T2, ? extends U2> function) {
-        return new Tuple11<>(v1, function.apply(v2), v3, v4, v5, v6, v7, v8, v9, v10, v11);
-    }
-
-    /**
-     * Apply attribute 3 as argument to a function and return a new tuple with the substituted argument.
-     */
-    public final <U3> Tuple11<T1, T2, U3, T4, T5, T6, T7, T8, T9, T10, T11> map3(Function1<? super T3, ? extends U3> function) {
-        return new Tuple11<>(v1, v2, function.apply(v3), v4, v5, v6, v7, v8, v9, v10, v11);
-    }
-
-    /**
-     * Apply attribute 4 as argument to a function and return a new tuple with the substituted argument.
-     */
-    public final <U4> Tuple11<T1, T2, T3, U4, T5, T6, T7, T8, T9, T10, T11> map4(Function1<? super T4, ? extends U4> function) {
-        return new Tuple11<>(v1, v2, v3, function.apply(v4), v5, v6, v7, v8, v9, v10, v11);
-    }
-
-    /**
-     * Apply attribute 5 as argument to a function and return a new tuple with the substituted argument.
-     */
-    public final <U5> Tuple11<T1, T2, T3, T4, U5, T6, T7, T8, T9, T10, T11> map5(Function1<? super T5, ? extends U5> function) {
-        return new Tuple11<>(v1, v2, v3, v4, function.apply(v5), v6, v7, v8, v9, v10, v11);
-    }
-
-    /**
-     * Apply attribute 6 as argument to a function and return a new tuple with the substituted argument.
-     */
-    public final <U6> Tuple11<T1, T2, T3, T4, T5, U6, T7, T8, T9, T10, T11> map6(Function1<? super T6, ? extends U6> function) {
-        return new Tuple11<>(v1, v2, v3, v4, v5, function.apply(v6), v7, v8, v9, v10, v11);
-    }
-
-    /**
-     * Apply attribute 7 as argument to a function and return a new tuple with the substituted argument.
-     */
-    public final <U7> Tuple11<T1, T2, T3, T4, T5, T6, U7, T8, T9, T10, T11> map7(Function1<? super T7, ? extends U7> function) {
-        return new Tuple11<>(v1, v2, v3, v4, v5, v6, function.apply(v7), v8, v9, v10, v11);
-    }
-
-    /**
-     * Apply attribute 8 as argument to a function and return a new tuple with the substituted argument.
-     */
-    public final <U8> Tuple11<T1, T2, T3, T4, T5, T6, T7, U8, T9, T10, T11> map8(Function1<? super T8, ? extends U8> function) {
-        return new Tuple11<>(v1, v2, v3, v4, v5, v6, v7, function.apply(v8), v9, v10, v11);
-    }
-
-    /**
-     * Apply attribute 9 as argument to a function and return a new tuple with the substituted argument.
-     */
-    public final <U9> Tuple11<T1, T2, T3, T4, T5, T6, T7, T8, U9, T10, T11> map9(Function1<? super T9, ? extends U9> function) {
-        return new Tuple11<>(v1, v2, v3, v4, v5, v6, v7, v8, function.apply(v9), v10, v11);
-    }
-
-    /**
-     * Apply attribute 10 as argument to a function and return a new tuple with the substituted argument.
-     */
-    public final <U10> Tuple11<T1, T2, T3, T4, T5, T6, T7, T8, T9, U10, T11> map10(Function1<? super T10, ? extends U10> function) {
-        return new Tuple11<>(v1, v2, v3, v4, v5, v6, v7, v8, v9, function.apply(v10), v11);
-    }
-
-    /**
-     * Apply attribute 11 as argument to a function and return a new tuple with the substituted argument.
-     */
-    public final <U11> Tuple11<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, U11> map11(Function1<? super T11, ? extends U11> function) {
-        return new Tuple11<>(v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, function.apply(v11));
-    }
-
-    /**
-     * Maps the attributes of this tuple using a mapper function.
-     */
-    public final <U1, U2, U3, U4, U5, U6, U7, U8, U9, U10, U11> Tuple11<U1, U2, U3, U4, U5, U6, U7, U8, U9, U10, U11> mapAll(Function11<? super T1, ? super T2, ? super T3, ? super T4, ? super T5, ? super T6, ? super T7, ? super T8, ? super T9, ? super T10, ? super T11, Tuple11<U1, U2, U3, U4, U5, U6, U7, U8, U9, U10, U11>> function) {
-        return function.apply(v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11);
-    }
-
-    /**
-     * Maps the attributes of this tuple using mapper functions.
-     */
-    public final <U1, U2, U3, U4, U5, U6, U7, U8, U9, U10, U11> Tuple11<U1, U2, U3, U4, U5, U6, U7, U8, U9, U10, U11> mapAll(Function1<? super T1, ? extends U1> function1, Function1<? super T2, ? extends U2> function2, Function1<? super T3, ? extends U3> function3, Function1<? super T4, ? extends U4> function4, Function1<? super T5, ? extends U5> function5, Function1<? super T6, ? extends U6> function6, Function1<? super T7, ? extends U7> function7, Function1<? super T8, ? extends U8> function8, Function1<? super T9, ? extends U9> function9, Function1<? super T10, ? extends U10> function10, Function1<? super T11, ? extends U11> function11) {
-        return new Tuple11<>(function1.apply(v1), function2.apply(v2), function3.apply(v3), function4.apply(v4), function5.apply(v5), function6.apply(v6), function7.apply(v7), function8.apply(v8), function9.apply(v9), function10.apply(v10), function11.apply(v11));
-    }
-
-    @Override
-    public Tuple11<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11> clone() {
-        return new Tuple11<>(this);
-    }
 }

http://git-wip-us.apache.org/repos/asf/groovy/blob/892f67cd/src/main/groovy/groovy/lang/Tuple12.java
----------------------------------------------------------------------
diff --git a/src/main/groovy/groovy/lang/Tuple12.java b/src/main/groovy/groovy/lang/Tuple12.java
index b0d83bb..7d0a40b 100644
--- a/src/main/groovy/groovy/lang/Tuple12.java
+++ b/src/main/groovy/groovy/lang/Tuple12.java
@@ -20,9 +20,6 @@
 
 package groovy.lang;
 
-import groovy.util.function.Function1;
-import groovy.util.function.Function12;
-
 /**
  * Represents a list of 12 typed Objects.
  *
@@ -112,430 +109,4 @@ public final class Tuple12<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12> ex
     public T12 getV12() {
         return v12;
     }
-
-
-    /**
-     * Concatenate a value to this tuple.
-     */
-    public final <T13> Tuple13<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13> concat(T13 value) {
-        return new Tuple13<>(v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, value);
-    }
-
-    /**
-     * Concatenate a tuple to this tuple.
-     */
-    public final Tuple12<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12> concat(Tuple0 tuple) {
-        return new Tuple12<>(v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12);
-    }
-
-    /**
-     * Concatenate a tuple to this tuple.
-     */
-    public final <T13> Tuple13<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13> concat(Tuple1<T13> tuple) {
-        return new Tuple13<>(v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, tuple.getV1());
-    }
-
-    /**
-     * Concatenate a tuple to this tuple.
-     */
-    public final <T13, T14> Tuple14<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14> concat(Tuple2<T13, T14> tuple) {
-        return new Tuple14<>(v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, tuple.getV1(), tuple.getV2());
-    }
-
-    /**
-     * Concatenate a tuple to this tuple.
-     */
-    public final <T13, T14, T15> Tuple15<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15> concat(Tuple3<T13, T14, T15> tuple) {
-        return new Tuple15<>(v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, tuple.getV1(), tuple.getV2(), tuple.getV3());
-    }
-
-    /**
-     * Concatenate a tuple to this tuple.
-     */
-    public final <T13, T14, T15, T16> Tuple16<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16> concat(Tuple4<T13, T14, T15, T16> tuple) {
-        return new Tuple16<>(v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, tuple.getV1(), tuple.getV2(), tuple.getV3(), tuple.getV4());
-    }
-
-    /**
-     * Split this tuple into two tuples of degree 0 and 12.
-     */
-    public final Tuple2<Tuple0, Tuple12<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12>> split0() {
-        return new Tuple2<>(limit0(), skip0());
-    }
-
-    /**
-     * Split this tuple into two tuples of degree 1 and 11.
-     */
-    public final Tuple2<Tuple1<T1>, Tuple11<T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12>> split1() {
-        return new Tuple2<>(limit1(), skip1());
-    }
-
-    /**
-     * Split this tuple into two tuples of degree 2 and 10.
-     */
-    public final Tuple2<Tuple2<T1, T2>, Tuple10<T3, T4, T5, T6, T7, T8, T9, T10, T11, T12>> split2() {
-        return new Tuple2<>(limit2(), skip2());
-    }
-
-    /**
-     * Split this tuple into two tuples of degree 3 and 9.
-     */
-    public final Tuple2<Tuple3<T1, T2, T3>, Tuple9<T4, T5, T6, T7, T8, T9, T10, T11, T12>> split3() {
-        return new Tuple2<>(limit3(), skip3());
-    }
-
-    /**
-     * Split this tuple into two tuples of degree 4 and 8.
-     */
-    public final Tuple2<Tuple4<T1, T2, T3, T4>, Tuple8<T5, T6, T7, T8, T9, T10, T11, T12>> split4() {
-        return new Tuple2<>(limit4(), skip4());
-    }
-
-    /**
-     * Split this tuple into two tuples of degree 5 and 7.
-     */
-    public final Tuple2<Tuple5<T1, T2, T3, T4, T5>, Tuple7<T6, T7, T8, T9, T10, T11, T12>> split5() {
-        return new Tuple2<>(limit5(), skip5());
-    }
-
-    /**
-     * Split this tuple into two tuples of degree 6 and 6.
-     */
-    public final Tuple2<Tuple6<T1, T2, T3, T4, T5, T6>, Tuple6<T7, T8, T9, T10, T11, T12>> split6() {
-        return new Tuple2<>(limit6(), skip6());
-    }
-
-    /**
-     * Split this tuple into two tuples of degree 7 and 5.
-     */
-    public final Tuple2<Tuple7<T1, T2, T3, T4, T5, T6, T7>, Tuple5<T8, T9, T10, T11, T12>> split7() {
-        return new Tuple2<>(limit7(), skip7());
-    }
-
-    /**
-     * Split this tuple into two tuples of degree 8 and 4.
-     */
-    public final Tuple2<Tuple8<T1, T2, T3, T4, T5, T6, T7, T8>, Tuple4<T9, T10, T11, T12>> split8() {
-        return new Tuple2<>(limit8(), skip8());
-    }
-
-    /**
-     * Split this tuple into two tuples of degree 9 and 3.
-     */
-    public final Tuple2<Tuple9<T1, T2, T3, T4, T5, T6, T7, T8, T9>, Tuple3<T10, T11, T12>> split9() {
-        return new Tuple2<>(limit9(), skip9());
-    }
-
-    /**
-     * Split this tuple into two tuples of degree 10 and 2.
-     */
-    public final Tuple2<Tuple10<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10>, Tuple2<T11, T12>> split10() {
-        return new Tuple2<>(limit10(), skip10());
-    }
-
-    /**
-     * Split this tuple into two tuples of degree 11 and 1.
-     */
-    public final Tuple2<Tuple11<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11>, Tuple1<T12>> split11() {
-        return new Tuple2<>(limit11(), skip11());
-    }
-
-    /**
-     * Split this tuple into two tuples of degree 12 and 0.
-     */
-    public final Tuple2<Tuple12<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12>, Tuple0> split12() {
-        return new Tuple2<>(limit12(), skip12());
-    }
-
-    /**
-     * Limit this tuple to degree 0.
-     */
-    public final Tuple0 limit0() {
-        return Tuple0.INSTANCE;
-    }
-
-    /**
-     * Limit this tuple to degree 1.
-     */
-    public final Tuple1<T1> limit1() {
-        return new Tuple1<>(v1);
-    }
-
-    /**
-     * Limit this tuple to degree 2.
-     */
-    public final Tuple2<T1, T2> limit2() {
-        return new Tuple2<>(v1, v2);
-    }
-
-    /**
-     * Limit this tuple to degree 3.
-     */
-    public final Tuple3<T1, T2, T3> limit3() {
-        return new Tuple3<>(v1, v2, v3);
-    }
-
-    /**
-     * Limit this tuple to degree 4.
-     */
-    public final Tuple4<T1, T2, T3, T4> limit4() {
-        return new Tuple4<>(v1, v2, v3, v4);
-    }
-
-    /**
-     * Limit this tuple to degree 5.
-     */
-    public final Tuple5<T1, T2, T3, T4, T5> limit5() {
-        return new Tuple5<>(v1, v2, v3, v4, v5);
-    }
-
-    /**
-     * Limit this tuple to degree 6.
-     */
-    public final Tuple6<T1, T2, T3, T4, T5, T6> limit6() {
-        return new Tuple6<>(v1, v2, v3, v4, v5, v6);
-    }
-
-    /**
-     * Limit this tuple to degree 7.
-     */
-    public final Tuple7<T1, T2, T3, T4, T5, T6, T7> limit7() {
-        return new Tuple7<>(v1, v2, v3, v4, v5, v6, v7);
-    }
-
-    /**
-     * Limit this tuple to degree 8.
-     */
-    public final Tuple8<T1, T2, T3, T4, T5, T6, T7, T8> limit8() {
-        return new Tuple8<>(v1, v2, v3, v4, v5, v6, v7, v8);
-    }
-
-    /**
-     * Limit this tuple to degree 9.
-     */
-    public final Tuple9<T1, T2, T3, T4, T5, T6, T7, T8, T9> limit9() {
-        return new Tuple9<>(v1, v2, v3, v4, v5, v6, v7, v8, v9);
-    }
-
-    /**
-     * Limit this tuple to degree 10.
-     */
-    public final Tuple10<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10> limit10() {
-        return new Tuple10<>(v1, v2, v3, v4, v5, v6, v7, v8, v9, v10);
-    }
-
-    /**
-     * Limit this tuple to degree 11.
-     */
-    public final Tuple11<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11> limit11() {
-        return new Tuple11<>(v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11);
-    }
-
-    /**
-     * Limit this tuple to degree 12.
-     */
-    public final Tuple12<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12> limit12() {
-        return this;
-    }
-
-    /**
-     * Skip 0 degrees from this tuple.
-     */
-    public final Tuple12<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12> skip0() {
-        return this;
-    }
-
-    /**
-     * Skip 1 degrees from this tuple.
-     */
-    public final Tuple11<T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12> skip1() {
-        return new Tuple11<>(v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12);
-    }
-
-    /**
-     * Skip 2 degrees from this tuple.
-     */
-    public final Tuple10<T3, T4, T5, T6, T7, T8, T9, T10, T11, T12> skip2() {
-        return new Tuple10<>(v3, v4, v5, v6, v7, v8, v9, v10, v11, v12);
-    }
-
-    /**
-     * Skip 3 degrees from this tuple.
-     */
-    public final Tuple9<T4, T5, T6, T7, T8, T9, T10, T11, T12> skip3() {
-        return new Tuple9<>(v4, v5, v6, v7, v8, v9, v10, v11, v12);
-    }
-
-    /**
-     * Skip 4 degrees from this tuple.
-     */
-    public final Tuple8<T5, T6, T7, T8, T9, T10, T11, T12> skip4() {
-        return new Tuple8<>(v5, v6, v7, v8, v9, v10, v11, v12);
-    }
-
-    /**
-     * Skip 5 degrees from this tuple.
-     */
-    public final Tuple7<T6, T7, T8, T9, T10, T11, T12> skip5() {
-        return new Tuple7<>(v6, v7, v8, v9, v10, v11, v12);
-    }
-
-    /**
-     * Skip 6 degrees from this tuple.
-     */
-    public final Tuple6<T7, T8, T9, T10, T11, T12> skip6() {
-        return new Tuple6<>(v7, v8, v9, v10, v11, v12);
-    }
-
-    /**
-     * Skip 7 degrees from this tuple.
-     */
-    public final Tuple5<T8, T9, T10, T11, T12> skip7() {
-        return new Tuple5<>(v8, v9, v10, v11, v12);
-    }
-
-    /**
-     * Skip 8 degrees from this tuple.
-     */
-    public final Tuple4<T9, T10, T11, T12> skip8() {
-        return new Tuple4<>(v9, v10, v11, v12);
-    }
-
-    /**
-     * Skip 9 degrees from this tuple.
-     */
-    public final Tuple3<T10, T11, T12> skip9() {
-        return new Tuple3<>(v10, v11, v12);
-    }
-
-    /**
-     * Skip 10 degrees from this tuple.
-     */
-    public final Tuple2<T11, T12> skip10() {
-        return new Tuple2<>(v11, v12);
-    }
-
-    /**
-     * Skip 11 degrees from this tuple.
-     */
-    public final Tuple1<T12> skip11() {
-        return new Tuple1<>(v12);
-    }
-
-    /**
-     * Skip 12 degrees from this tuple.
-     */
-    public final Tuple0 skip12() {
-        return Tuple0.INSTANCE;
-    }
-
-    /**
-     * Apply this tuple as arguments to a function.
-     */
-    public final <R> R map(Function12<? super T1, ? super T2, ? super T3, ? super T4, ? super T5, ? super T6, ? super T7, ? super T8, ? super T9, ? super T10, ? super T11, ? super T12, ? extends R> function) {
-        return function.apply(v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12);
-    }
-
-    /**
-     * Apply attribute 1 as argument to a function and return a new tuple with the substituted argument.
-     */
-    public final <U1> Tuple12<U1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12> map1(Function1<? super T1, ? extends U1> function) {
-        return new Tuple12<>(function.apply(v1), v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12);
-    }
-
-    /**
-     * Apply attribute 2 as argument to a function and return a new tuple with the substituted argument.
-     */
-    public final <U2> Tuple12<T1, U2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12> map2(Function1<? super T2, ? extends U2> function) {
-        return new Tuple12<>(v1, function.apply(v2), v3, v4, v5, v6, v7, v8, v9, v10, v11, v12);
-    }
-
-    /**
-     * Apply attribute 3 as argument to a function and return a new tuple with the substituted argument.
-     */
-    public final <U3> Tuple12<T1, T2, U3, T4, T5, T6, T7, T8, T9, T10, T11, T12> map3(Function1<? super T3, ? extends U3> function) {
-        return new Tuple12<>(v1, v2, function.apply(v3), v4, v5, v6, v7, v8, v9, v10, v11, v12);
-    }
-
-    /**
-     * Apply attribute 4 as argument to a function and return a new tuple with the substituted argument.
-     */
-    public final <U4> Tuple12<T1, T2, T3, U4, T5, T6, T7, T8, T9, T10, T11, T12> map4(Function1<? super T4, ? extends U4> function) {
-        return new Tuple12<>(v1, v2, v3, function.apply(v4), v5, v6, v7, v8, v9, v10, v11, v12);
-    }
-
-    /**
-     * Apply attribute 5 as argument to a function and return a new tuple with the substituted argument.
-     */
-    public final <U5> Tuple12<T1, T2, T3, T4, U5, T6, T7, T8, T9, T10, T11, T12> map5(Function1<? super T5, ? extends U5> function) {
-        return new Tuple12<>(v1, v2, v3, v4, function.apply(v5), v6, v7, v8, v9, v10, v11, v12);
-    }
-
-    /**
-     * Apply attribute 6 as argument to a function and return a new tuple with the substituted argument.
-     */
-    public final <U6> Tuple12<T1, T2, T3, T4, T5, U6, T7, T8, T9, T10, T11, T12> map6(Function1<? super T6, ? extends U6> function) {
-        return new Tuple12<>(v1, v2, v3, v4, v5, function.apply(v6), v7, v8, v9, v10, v11, v12);
-    }
-
-    /**
-     * Apply attribute 7 as argument to a function and return a new tuple with the substituted argument.
-     */
-    public final <U7> Tuple12<T1, T2, T3, T4, T5, T6, U7, T8, T9, T10, T11, T12> map7(Function1<? super T7, ? extends U7> function) {
-        return new Tuple12<>(v1, v2, v3, v4, v5, v6, function.apply(v7), v8, v9, v10, v11, v12);
-    }
-
-    /**
-     * Apply attribute 8 as argument to a function and return a new tuple with the substituted argument.
-     */
-    public final <U8> Tuple12<T1, T2, T3, T4, T5, T6, T7, U8, T9, T10, T11, T12> map8(Function1<? super T8, ? extends U8> function) {
-        return new Tuple12<>(v1, v2, v3, v4, v5, v6, v7, function.apply(v8), v9, v10, v11, v12);
-    }
-
-    /**
-     * Apply attribute 9 as argument to a function and return a new tuple with the substituted argument.
-     */
-    public final <U9> Tuple12<T1, T2, T3, T4, T5, T6, T7, T8, U9, T10, T11, T12> map9(Function1<? super T9, ? extends U9> function) {
-        return new Tuple12<>(v1, v2, v3, v4, v5, v6, v7, v8, function.apply(v9), v10, v11, v12);
-    }
-
-    /**
-     * Apply attribute 10 as argument to a function and return a new tuple with the substituted argument.
-     */
-    public final <U10> Tuple12<T1, T2, T3, T4, T5, T6, T7, T8, T9, U10, T11, T12> map10(Function1<? super T10, ? extends U10> function) {
-        return new Tuple12<>(v1, v2, v3, v4, v5, v6, v7, v8, v9, function.apply(v10), v11, v12);
-    }
-
-    /**
-     * Apply attribute 11 as argument to a function and return a new tuple with the substituted argument.
-     */
-    public final <U11> Tuple12<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, U11, T12> map11(Function1<? super T11, ? extends U11> function) {
-        return new Tuple12<>(v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, function.apply(v11), v12);
-    }
-
-    /**
-     * Apply attribute 12 as argument to a function and return a new tuple with the substituted argument.
-     */
-    public final <U12> Tuple12<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, U12> map12(Function1<? super T12, ? extends U12> function) {
-        return new Tuple12<>(v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, function.apply(v12));
-    }
-
-    /**
-     * Maps the attributes of this tuple using a mapper function.
-     */
-    public final <U1, U2, U3, U4, U5, U6, U7, U8, U9, U10, U11, U12> Tuple12<U1, U2, U3, U4, U5, U6, U7, U8, U9, U10, U11, U12> mapAll(Function12<? super T1, ? super T2, ? super T3, ? super T4, ? super T5, ? super T6, ? super T7, ? super T8, ? super T9, ? super T10, ? super T11, ? super T12, Tuple12<U1, U2, U3, U4, U5, U6, U7, U8, U9, U10, U11, U12>> function) {
-        return function.apply(v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12);
-    }
-
-    /**
-     * Maps the attributes of this tuple using mapper functions.
-     */
-    public final <U1, U2, U3, U4, U5, U6, U7, U8, U9, U10, U11, U12> Tuple12<U1, U2, U3, U4, U5, U6, U7, U8, U9, U10, U11, U12> mapAll(Function1<? super T1, ? extends U1> function1, Function1<? super T2, ? extends U2> function2, Function1<? super T3, ? extends U3> function3, Function1<? super T4, ? extends U4> function4, Function1<? super T5, ? extends U5> function5, Function1<? super T6, ? extends U6> function6, Function1<? super T7, ? extends U7> function7, Function1<? super T8, ? extends U8> function8, Function1<? super T9, ? extends U9> function9, Function1<? super T10, ? extends U10> function10, Function1<? super T11, ? extends U11> function11, Function1<? super T12, ? extends U12> function12) {
-        return new Tuple12<>(function1.apply(v1), function2.apply(v2), function3.apply(v3), function4.apply(v4), function5.apply(v5), function6.apply(v6), function7.apply(v7), function8.apply(v8), function9.apply(v9), function10.apply(v10), function11.apply(v11), function12.apply(v12));
-    }
-
-    @Override
-    public Tuple12<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12> clone() {
-        return new Tuple12<>(this);
-    }
 }

http://git-wip-us.apache.org/repos/asf/groovy/blob/892f67cd/src/main/groovy/groovy/lang/Tuple13.java
----------------------------------------------------------------------
diff --git a/src/main/groovy/groovy/lang/Tuple13.java b/src/main/groovy/groovy/lang/Tuple13.java
index 2a240d5..fedfd6d 100644
--- a/src/main/groovy/groovy/lang/Tuple13.java
+++ b/src/main/groovy/groovy/lang/Tuple13.java
@@ -20,9 +20,6 @@
 
 package groovy.lang;
 
-import groovy.util.function.Function1;
-import groovy.util.function.Function13;
-
 /**
  * Represents a list of 13 typed Objects.
  *
@@ -119,450 +116,4 @@ public final class Tuple13<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T1
         return v13;
     }
 
-    /**
-     * Concatenate a value to this tuple.
-     */
-    public final <T14> Tuple14<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14> concat(T14 value) {
-        return new Tuple14<>(v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, value);
-    }
-
-    /**
-     * Concatenate a tuple to this tuple.
-     */
-    public final Tuple13<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13> concat(Tuple0 tuple) {
-        return new Tuple13<>(v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13);
-    }
-
-
-    /**
-     * Concatenate a tuple to this tuple.
-     */
-    public final <T14> Tuple14<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14> concat(Tuple1<T14> tuple) {
-        return new Tuple14<>(v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, tuple.getV1());
-    }
-
-    /**
-     * Concatenate a tuple to this tuple.
-     */
-    public final <T14, T15> Tuple15<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15> concat(Tuple2<T14, T15> tuple) {
-        return new Tuple15<>(v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, tuple.getV1(), tuple.getV2());
-    }
-
-    /**
-     * Concatenate a tuple to this tuple.
-     */
-    public final <T14, T15, T16> Tuple16<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16> concat(Tuple3<T14, T15, T16> tuple) {
-        return new Tuple16<>(v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, tuple.getV1(), tuple.getV2(), tuple.getV3());
-    }
-
-    /**
-     * Split this tuple into two tuples of degree 0 and 13.
-     */
-    public final Tuple2<Tuple0, Tuple13<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13>> split0() {
-        return new Tuple2<>(limit0(), skip0());
-    }
-
-    /**
-     * Split this tuple into two tuples of degree 1 and 12.
-     */
-    public final Tuple2<Tuple1<T1>, Tuple12<T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13>> split1() {
-        return new Tuple2<>(limit1(), skip1());
-    }
-
-    /**
-     * Split this tuple into two tuples of degree 2 and 11.
-     */
-    public final Tuple2<Tuple2<T1, T2>, Tuple11<T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13>> split2() {
-        return new Tuple2<>(limit2(), skip2());
-    }
-
-    /**
-     * Split this tuple into two tuples of degree 3 and 10.
-     */
-    public final Tuple2<Tuple3<T1, T2, T3>, Tuple10<T4, T5, T6, T7, T8, T9, T10, T11, T12, T13>> split3() {
-        return new Tuple2<>(limit3(), skip3());
-    }
-
-    /**
-     * Split this tuple into two tuples of degree 4 and 9.
-     */
-    public final Tuple2<Tuple4<T1, T2, T3, T4>, Tuple9<T5, T6, T7, T8, T9, T10, T11, T12, T13>> split4() {
-        return new Tuple2<>(limit4(), skip4());
-    }
-
-    /**
-     * Split this tuple into two tuples of degree 5 and 8.
-     */
-    public final Tuple2<Tuple5<T1, T2, T3, T4, T5>, Tuple8<T6, T7, T8, T9, T10, T11, T12, T13>> split5() {
-        return new Tuple2<>(limit5(), skip5());
-    }
-
-    /**
-     * Split this tuple into two tuples of degree 6 and 7.
-     */
-    public final Tuple2<Tuple6<T1, T2, T3, T4, T5, T6>, Tuple7<T7, T8, T9, T10, T11, T12, T13>> split6() {
-        return new Tuple2<>(limit6(), skip6());
-    }
-
-    /**
-     * Split this tuple into two tuples of degree 7 and 6.
-     */
-    public final Tuple2<Tuple7<T1, T2, T3, T4, T5, T6, T7>, Tuple6<T8, T9, T10, T11, T12, T13>> split7() {
-        return new Tuple2<>(limit7(), skip7());
-    }
-
-    /**
-     * Split this tuple into two tuples of degree 8 and 5.
-     */
-    public final Tuple2<Tuple8<T1, T2, T3, T4, T5, T6, T7, T8>, Tuple5<T9, T10, T11, T12, T13>> split8() {
-        return new Tuple2<>(limit8(), skip8());
-    }
-
-    /**
-     * Split this tuple into two tuples of degree 9 and 4.
-     */
-    public final Tuple2<Tuple9<T1, T2, T3, T4, T5, T6, T7, T8, T9>, Tuple4<T10, T11, T12, T13>> split9() {
-        return new Tuple2<>(limit9(), skip9());
-    }
-
-    /**
-     * Split this tuple into two tuples of degree 10 and 3.
-     */
-    public final Tuple2<Tuple10<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10>, Tuple3<T11, T12, T13>> split10() {
-        return new Tuple2<>(limit10(), skip10());
-    }
-
-    /**
-     * Split this tuple into two tuples of degree 11 and 2.
-     */
-    public final Tuple2<Tuple11<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11>, Tuple2<T12, T13>> split11() {
-        return new Tuple2<>(limit11(), skip11());
-    }
-
-    /**
-     * Split this tuple into two tuples of degree 12 and 1.
-     */
-    public final Tuple2<Tuple12<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12>, Tuple1<T13>> split12() {
-        return new Tuple2<>(limit12(), skip12());
-    }
-
-    /**
-     * Split this tuple into two tuples of degree 13 and 0.
-     */
-    public final Tuple2<Tuple13<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13>, Tuple0> split13() {
-        return new Tuple2<>(limit13(), skip13());
-    }
-
-    /**
-     * Limit this tuple to degree 0.
-     */
-    public final Tuple0 limit0() {
-        return Tuple0.INSTANCE;
-    }
-
-    /**
-     * Limit this tuple to degree 1.
-     */
-    public final Tuple1<T1> limit1() {
-        return new Tuple1<>(v1);
-    }
-
-    /**
-     * Limit this tuple to degree 2.
-     */
-    public final Tuple2<T1, T2> limit2() {
-        return new Tuple2<>(v1, v2);
-    }
-
-    /**
-     * Limit this tuple to degree 3.
-     */
-    public final Tuple3<T1, T2, T3> limit3() {
-        return new Tuple3<>(v1, v2, v3);
-    }
-
-    /**
-     * Limit this tuple to degree 4.
-     */
-    public final Tuple4<T1, T2, T3, T4> limit4() {
-        return new Tuple4<>(v1, v2, v3, v4);
-    }
-
-    /**
-     * Limit this tuple to degree 5.
-     */
-    public final Tuple5<T1, T2, T3, T4, T5> limit5() {
-        return new Tuple5<>(v1, v2, v3, v4, v5);
-    }
-
-    /**
-     * Limit this tuple to degree 6.
-     */
-    public final Tuple6<T1, T2, T3, T4, T5, T6> limit6() {
-        return new Tuple6<>(v1, v2, v3, v4, v5, v6);
-    }
-
-    /**
-     * Limit this tuple to degree 7.
-     */
-    public final Tuple7<T1, T2, T3, T4, T5, T6, T7> limit7() {
-        return new Tuple7<>(v1, v2, v3, v4, v5, v6, v7);
-    }
-
-    /**
-     * Limit this tuple to degree 8.
-     */
-    public final Tuple8<T1, T2, T3, T4, T5, T6, T7, T8> limit8() {
-        return new Tuple8<>(v1, v2, v3, v4, v5, v6, v7, v8);
-    }
-
-    /**
-     * Limit this tuple to degree 9.
-     */
-    public final Tuple9<T1, T2, T3, T4, T5, T6, T7, T8, T9> limit9() {
-        return new Tuple9<>(v1, v2, v3, v4, v5, v6, v7, v8, v9);
-    }
-
-    /**
-     * Limit this tuple to degree 10.
-     */
-    public final Tuple10<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10> limit10() {
-        return new Tuple10<>(v1, v2, v3, v4, v5, v6, v7, v8, v9, v10);
-    }
-
-    /**
-     * Limit this tuple to degree 11.
-     */
-    public final Tuple11<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11> limit11() {
-        return new Tuple11<>(v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11);
-    }
-
-    /**
-     * Limit this tuple to degree 12.
-     */
-    public final Tuple12<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12> limit12() {
-        return new Tuple12<>(v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12);
-    }
-
-    /**
-     * Limit this tuple to degree 13.
-     */
-    public final Tuple13<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13> limit13() {
-        return this;
-    }
-
-    /**
-     * Skip 0 degrees from this tuple.
-     */
-    public final Tuple13<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13> skip0() {
-        return this;
-    }
-
-    /**
-     * Skip 1 degrees from this tuple.
-     */
-    public final Tuple12<T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13> skip1() {
-        return new Tuple12<>(v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13);
-    }
-
-    /**
-     * Skip 2 degrees from this tuple.
-     */
-    public final Tuple11<T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13> skip2() {
-        return new Tuple11<>(v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13);
-    }
-
-    /**
-     * Skip 3 degrees from this tuple.
-     */
-    public final Tuple10<T4, T5, T6, T7, T8, T9, T10, T11, T12, T13> skip3() {
-        return new Tuple10<>(v4, v5, v6, v7, v8, v9, v10, v11, v12, v13);
-    }
-
-    /**
-     * Skip 4 degrees from this tuple.
-     */
-    public final Tuple9<T5, T6, T7, T8, T9, T10, T11, T12, T13> skip4() {
-        return new Tuple9<>(v5, v6, v7, v8, v9, v10, v11, v12, v13);
-    }
-
-    /**
-     * Skip 5 degrees from this tuple.
-     */
-    public final Tuple8<T6, T7, T8, T9, T10, T11, T12, T13> skip5() {
-        return new Tuple8<>(v6, v7, v8, v9, v10, v11, v12, v13);
-    }
-
-    /**
-     * Skip 6 degrees from this tuple.
-     */
-    public final Tuple7<T7, T8, T9, T10, T11, T12, T13> skip6() {
-        return new Tuple7<>(v7, v8, v9, v10, v11, v12, v13);
-    }
-
-    /**
-     * Skip 7 degrees from this tuple.
-     */
-    public final Tuple6<T8, T9, T10, T11, T12, T13> skip7() {
-        return new Tuple6<>(v8, v9, v10, v11, v12, v13);
-    }
-
-    /**
-     * Skip 8 degrees from this tuple.
-     */
-    public final Tuple5<T9, T10, T11, T12, T13> skip8() {
-        return new Tuple5<>(v9, v10, v11, v12, v13);
-    }
-
-    /**
-     * Skip 9 degrees from this tuple.
-     */
-    public final Tuple4<T10, T11, T12, T13> skip9() {
-        return new Tuple4<>(v10, v11, v12, v13);
-    }
-
-    /**
-     * Skip 10 degrees from this tuple.
-     */
-    public final Tuple3<T11, T12, T13> skip10() {
-        return new Tuple3<>(v11, v12, v13);
-    }
-
-    /**
-     * Skip 11 degrees from this tuple.
-     */
-    public final Tuple2<T12, T13> skip11() {
-        return new Tuple2<>(v12, v13);
-    }
-
-    /**
-     * Skip 12 degrees from this tuple.
-     */
-    public final Tuple1<T13> skip12() {
-        return new Tuple1<>(v13);
-    }
-
-    /**
-     * Skip 13 degrees from this tuple.
-     */
-    public final Tuple0 skip13() {
-        return Tuple0.INSTANCE;
-    }
-
-    /**
-     * Apply this tuple as arguments to a function.
-     */
-    public final <R> R map(Function13<? super T1, ? super T2, ? super T3, ? super T4, ? super T5, ? super T6, ? super T7, ? super T8, ? super T9, ? super T10, ? super T11, ? super T12, ? super T13, ? extends R> function) {
-        return function.apply(v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13);
-    }
-
-    /**
-     * Apply attribute 1 as argument to a function and return a new tuple with the substituted argument.
-     */
-    public final <U1> Tuple13<U1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13> map1(Function1<? super T1, ? extends U1> function) {
-        return new Tuple13<>(function.apply(v1), v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13);
-    }
-
-    /**
-     * Apply attribute 2 as argument to a function and return a new tuple with the substituted argument.
-     */
-    public final <U2> Tuple13<T1, U2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13> map2(Function1<? super T2, ? extends U2> function) {
-        return new Tuple13<>(v1, function.apply(v2), v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13);
-    }
-
-    /**
-     * Apply attribute 3 as argument to a function and return a new tuple with the substituted argument.
-     */
-    public final <U3> Tuple13<T1, T2, U3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13> map3(Function1<? super T3, ? extends U3> function) {
-        return new Tuple13<>(v1, v2, function.apply(v3), v4, v5, v6, v7, v8, v9, v10, v11, v12, v13);
-    }
-
-    /**
-     * Apply attribute 4 as argument to a function and return a new tuple with the substituted argument.
-     */
-    public final <U4> Tuple13<T1, T2, T3, U4, T5, T6, T7, T8, T9, T10, T11, T12, T13> map4(Function1<? super T4, ? extends U4> function) {
-        return new Tuple13<>(v1, v2, v3, function.apply(v4), v5, v6, v7, v8, v9, v10, v11, v12, v13);
-    }
-
-    /**
-     * Apply attribute 5 as argument to a function and return a new tuple with the substituted argument.
-     */
-    public final <U5> Tuple13<T1, T2, T3, T4, U5, T6, T7, T8, T9, T10, T11, T12, T13> map5(Function1<? super T5, ? extends U5> function) {
-        return new Tuple13<>(v1, v2, v3, v4, function.apply(v5), v6, v7, v8, v9, v10, v11, v12, v13);
-    }
-
-    /**
-     * Apply attribute 6 as argument to a function and return a new tuple with the substituted argument.
-     */
-    public final <U6> Tuple13<T1, T2, T3, T4, T5, U6, T7, T8, T9, T10, T11, T12, T13> map6(Function1<? super T6, ? extends U6> function) {
-        return new Tuple13<>(v1, v2, v3, v4, v5, function.apply(v6), v7, v8, v9, v10, v11, v12, v13);
-    }
-
-    /**
-     * Apply attribute 7 as argument to a function and return a new tuple with the substituted argument.
-     */
-    public final <U7> Tuple13<T1, T2, T3, T4, T5, T6, U7, T8, T9, T10, T11, T12, T13> map7(Function1<? super T7, ? extends U7> function) {
-        return new Tuple13<>(v1, v2, v3, v4, v5, v6, function.apply(v7), v8, v9, v10, v11, v12, v13);
-    }
-
-    /**
-     * Apply attribute 8 as argument to a function and return a new tuple with the substituted argument.
-     */
-    public final <U8> Tuple13<T1, T2, T3, T4, T5, T6, T7, U8, T9, T10, T11, T12, T13> map8(Function1<? super T8, ? extends U8> function) {
-        return new Tuple13<>(v1, v2, v3, v4, v5, v6, v7, function.apply(v8), v9, v10, v11, v12, v13);
-    }
-
-    /**
-     * Apply attribute 9 as argument to a function and return a new tuple with the substituted argument.
-     */
-    public final <U9> Tuple13<T1, T2, T3, T4, T5, T6, T7, T8, U9, T10, T11, T12, T13> map9(Function1<? super T9, ? extends U9> function) {
-        return new Tuple13<>(v1, v2, v3, v4, v5, v6, v7, v8, function.apply(v9), v10, v11, v12, v13);
-    }
-
-    /**
-     * Apply attribute 10 as argument to a function and return a new tuple with the substituted argument.
-     */
-    public final <U10> Tuple13<T1, T2, T3, T4, T5, T6, T7, T8, T9, U10, T11, T12, T13> map10(Function1<? super T10, ? extends U10> function) {
-        return new Tuple13<>(v1, v2, v3, v4, v5, v6, v7, v8, v9, function.apply(v10), v11, v12, v13);
-    }
-
-    /**
-     * Apply attribute 11 as argument to a function and return a new tuple with the substituted argument.
-     */
-    public final <U11> Tuple13<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, U11, T12, T13> map11(Function1<? super T11, ? extends U11> function) {
-        return new Tuple13<>(v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, function.apply(v11), v12, v13);
-    }
-
-    /**
-     * Apply attribute 12 as argument to a function and return a new tuple with the substituted argument.
-     */
-    public final <U12> Tuple13<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, U12, T13> map12(Function1<? super T12, ? extends U12> function) {
-        return new Tuple13<>(v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, function.apply(v12), v13);
-    }
-
-    /**
-     * Apply attribute 13 as argument to a function and return a new tuple with the substituted argument.
-     */
-    public final <U13> Tuple13<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, U13> map13(Function1<? super T13, ? extends U13> function) {
-        return new Tuple13<>(v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, function.apply(v13));
-    }
-
-    /**
-     * Maps the attributes of this tuple using a mapper function.
-     */
-    public final <U1, U2, U3, U4, U5, U6, U7, U8, U9, U10, U11, U12, U13> Tuple13<U1, U2, U3, U4, U5, U6, U7, U8, U9, U10, U11, U12, U13> mapAll(Function13<? super T1, ? super T2, ? super T3, ? super T4, ? super T5, ? super T6, ? super T7, ? super T8, ? super T9, ? super T10, ? super T11, ? super T12, ? super T13, Tuple13<U1, U2, U3, U4, U5, U6, U7, U8, U9, U10, U11, U12, U13>> function) {
-        return function.apply(v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13);
-    }
-
-    /**
-     * Maps the attributes of this tuple using mapper functions.
-     */
-    public final <U1, U2, U3, U4, U5, U6, U7, U8, U9, U10, U11, U12, U13> Tuple13<U1, U2, U3, U4, U5, U6, U7, U8, U9, U10, U11, U12, U13> mapAll(Function1<? super T1, ? extends U1> function1, Function1<? super T2, ? extends U2> function2, Function1<? super T3, ? extends U3> function3, Function1<? super T4, ? extends U4> function4, Function1<? super T5, ? extends U5> function5, Function1<? super T6, ? extends U6> function6, Function1<? super T7, ? extends U7> function7, Function1<? super T8, ? extends U8> function8, Function1<? super T9, ? extends U9> function9, Function1<? super T10, ? extends U10> function10, Function1<? super T11, ? extends U11> function11, Function1<? super T12, ? extends U12> function12, Function1<? super T13, ? extends U13> function13) {
-        return new Tuple13<>(function1.apply(v1), function2.apply(v2), function3.apply(v3), function4.apply(v4), function5.apply(v5), function6.apply(v6), function7.apply(v7), function8.apply(v8), function9.apply(v9), function10.apply(v10), function11.apply(v11), function12.apply(v12), function13.apply(v13));
-    }
-
-    @Override
-    public Tuple13<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13> clone() {
-        return new Tuple13<>(this);
-    }
 }

http://git-wip-us.apache.org/repos/asf/groovy/blob/892f67cd/src/main/groovy/groovy/lang/Tuple14.java
----------------------------------------------------------------------
diff --git a/src/main/groovy/groovy/lang/Tuple14.java b/src/main/groovy/groovy/lang/Tuple14.java
index 934af52..c945545 100644
--- a/src/main/groovy/groovy/lang/Tuple14.java
+++ b/src/main/groovy/groovy/lang/Tuple14.java
@@ -20,9 +20,6 @@
 
 package groovy.lang;
 
-import groovy.util.function.Function1;
-import groovy.util.function.Function14;
-
 /**
  * Represents a list of 14 typed Objects.
  *
@@ -124,470 +121,4 @@ public final class Tuple14<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T1
         return v14;
     }
 
-    /**
-     * Concatenate a value to this tuple.
-     */
-    public final <T15> Tuple15<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15> concat(T15 value) {
-        return new Tuple15<>(v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, value);
-    }
-
-    /**
-     * Concatenate a tuple to this tuple.
-     */
-    public final Tuple14<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14> concat(Tuple0 tuple) {
-        return new Tuple14<>(v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14);
-    }
-
-    /**
-     * Concatenate a tuple to this tuple.
-     */
-    public final <T15> Tuple15<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15> concat(Tuple1<T15> tuple) {
-        return new Tuple15<>(v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, tuple.getV1());
-    }
-
-    /**
-     * Concatenate a tuple to this tuple.
-     */
-    public final <T15, T16> Tuple16<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16> concat(Tuple2<T15, T16> tuple) {
-        return new Tuple16<>(v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, tuple.getV1(), tuple.getV2());
-    }
-
-    /**
-     * Split this tuple into two tuples of degree 0 and 14.
-     */
-    public final Tuple2<Tuple0, Tuple14<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14>> split0() {
-        return new Tuple2<>(limit0(), skip0());
-    }
-
-    /**
-     * Split this tuple into two tuples of degree 1 and 13.
-     */
-    public final Tuple2<Tuple1<T1>, Tuple13<T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14>> split1() {
-        return new Tuple2<>(limit1(), skip1());
-    }
-
-    /**
-     * Split this tuple into two tuples of degree 2 and 12.
-     */
-    public final Tuple2<Tuple2<T1, T2>, Tuple12<T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14>> split2() {
-        return new Tuple2<>(limit2(), skip2());
-    }
-
-    /**
-     * Split this tuple into two tuples of degree 3 and 11.
-     */
-    public final Tuple2<Tuple3<T1, T2, T3>, Tuple11<T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14>> split3() {
-        return new Tuple2<>(limit3(), skip3());
-    }
-
-    /**
-     * Split this tuple into two tuples of degree 4 and 10.
-     */
-    public final Tuple2<Tuple4<T1, T2, T3, T4>, Tuple10<T5, T6, T7, T8, T9, T10, T11, T12, T13, T14>> split4() {
-        return new Tuple2<>(limit4(), skip4());
-    }
-
-    /**
-     * Split this tuple into two tuples of degree 5 and 9.
-     */
-    public final Tuple2<Tuple5<T1, T2, T3, T4, T5>, Tuple9<T6, T7, T8, T9, T10, T11, T12, T13, T14>> split5() {
-        return new Tuple2<>(limit5(), skip5());
-    }
-
-    /**
-     * Split this tuple into two tuples of degree 6 and 8.
-     */
-    public final Tuple2<Tuple6<T1, T2, T3, T4, T5, T6>, Tuple8<T7, T8, T9, T10, T11, T12, T13, T14>> split6() {
-        return new Tuple2<>(limit6(), skip6());
-    }
-
-    /**
-     * Split this tuple into two tuples of degree 7 and 7.
-     */
-    public final Tuple2<Tuple7<T1, T2, T3, T4, T5, T6, T7>, Tuple7<T8, T9, T10, T11, T12, T13, T14>> split7() {
-        return new Tuple2<>(limit7(), skip7());
-    }
-
-    /**
-     * Split this tuple into two tuples of degree 8 and 6.
-     */
-    public final Tuple2<Tuple8<T1, T2, T3, T4, T5, T6, T7, T8>, Tuple6<T9, T10, T11, T12, T13, T14>> split8() {
-        return new Tuple2<>(limit8(), skip8());
-    }
-
-    /**
-     * Split this tuple into two tuples of degree 9 and 5.
-     */
-    public final Tuple2<Tuple9<T1, T2, T3, T4, T5, T6, T7, T8, T9>, Tuple5<T10, T11, T12, T13, T14>> split9() {
-        return new Tuple2<>(limit9(), skip9());
-    }
-
-    /**
-     * Split this tuple into two tuples of degree 10 and 4.
-     */
-    public final Tuple2<Tuple10<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10>, Tuple4<T11, T12, T13, T14>> split10() {
-        return new Tuple2<>(limit10(), skip10());
-    }
-
-    /**
-     * Split this tuple into two tuples of degree 11 and 3.
-     */
-    public final Tuple2<Tuple11<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11>, Tuple3<T12, T13, T14>> split11() {
-        return new Tuple2<>(limit11(), skip11());
-    }
-
-    /**
-     * Split this tuple into two tuples of degree 12 and 2.
-     */
-    public final Tuple2<Tuple12<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12>, Tuple2<T13, T14>> split12() {
-        return new Tuple2<>(limit12(), skip12());
-    }
-
-    /**
-     * Split this tuple into two tuples of degree 13 and 1.
-     */
-    public final Tuple2<Tuple13<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13>, Tuple1<T14>> split13() {
-        return new Tuple2<>(limit13(), skip13());
-    }
-
-    /**
-     * Split this tuple into two tuples of degree 14 and 0.
-     */
-    public final Tuple2<Tuple14<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14>, Tuple0> split14() {
-        return new Tuple2<>(limit14(), skip14());
-    }
-
-    /**
-     * Limit this tuple to degree 0.
-     */
-    public final Tuple0 limit0() {
-        return Tuple0.INSTANCE;
-    }
-
-    /**
-     * Limit this tuple to degree 1.
-     */
-    public final Tuple1<T1> limit1() {
-        return new Tuple1<>(v1);
-    }
-
-    /**
-     * Limit this tuple to degree 2.
-     */
-    public final Tuple2<T1, T2> limit2() {
-        return new Tuple2<>(v1, v2);
-    }
-
-    /**
-     * Limit this tuple to degree 3.
-     */
-    public final Tuple3<T1, T2, T3> limit3() {
-        return new Tuple3<>(v1, v2, v3);
-    }
-
-    /**
-     * Limit this tuple to degree 4.
-     */
-    public final Tuple4<T1, T2, T3, T4> limit4() {
-        return new Tuple4<>(v1, v2, v3, v4);
-    }
-
-    /**
-     * Limit this tuple to degree 5.
-     */
-    public final Tuple5<T1, T2, T3, T4, T5> limit5() {
-        return new Tuple5<>(v1, v2, v3, v4, v5);
-    }
-
-    /**
-     * Limit this tuple to degree 6.
-     */
-    public final Tuple6<T1, T2, T3, T4, T5, T6> limit6() {
-        return new Tuple6<>(v1, v2, v3, v4, v5, v6);
-    }
-
-    /**
-     * Limit this tuple to degree 7.
-     */
-    public final Tuple7<T1, T2, T3, T4, T5, T6, T7> limit7() {
-        return new Tuple7<>(v1, v2, v3, v4, v5, v6, v7);
-    }
-
-    /**
-     * Limit this tuple to degree 8.
-     */
-    public final Tuple8<T1, T2, T3, T4, T5, T6, T7, T8> limit8() {
-        return new Tuple8<>(v1, v2, v3, v4, v5, v6, v7, v8);
-    }
-
-    /**
-     * Limit this tuple to degree 9.
-     */
-    public final Tuple9<T1, T2, T3, T4, T5, T6, T7, T8, T9> limit9() {
-        return new Tuple9<>(v1, v2, v3, v4, v5, v6, v7, v8, v9);
-    }
-
-    /**
-     * Limit this tuple to degree 10.
-     */
-    public final Tuple10<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10> limit10() {
-        return new Tuple10<>(v1, v2, v3, v4, v5, v6, v7, v8, v9, v10);
-    }
-
-    /**
-     * Limit this tuple to degree 11.
-     */
-    public final Tuple11<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11> limit11() {
-        return new Tuple11<>(v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11);
-    }
-
-    /**
-     * Limit this tuple to degree 12.
-     */
-    public final Tuple12<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12> limit12() {
-        return new Tuple12<>(v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12);
-    }
-
-    /**
-     * Limit this tuple to degree 13.
-     */
-    public final Tuple13<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13> limit13() {
-        return new Tuple13<>(v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13);
-    }
-
-    /**
-     * Limit this tuple to degree 14.
-     */
-    public final Tuple14<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14> limit14() {
-        return this;
-    }
-
-    /**
-     * Skip 0 degrees from this tuple.
-     */
-    public final Tuple14<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14> skip0() {
-        return this;
-    }
-
-    /**
-     * Skip 1 degrees from this tuple.
-     */
-    public final Tuple13<T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14> skip1() {
-        return new Tuple13<>(v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14);
-    }
-
-    /**
-     * Skip 2 degrees from this tuple.
-     */
-    public final Tuple12<T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14> skip2() {
-        return new Tuple12<>(v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14);
-    }
-
-    /**
-     * Skip 3 degrees from this tuple.
-     */
-    public final Tuple11<T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14> skip3() {
-        return new Tuple11<>(v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14);
-    }
-
-    /**
-     * Skip 4 degrees from this tuple.
-     */
-    public final Tuple10<T5, T6, T7, T8, T9, T10, T11, T12, T13, T14> skip4() {
-        return new Tuple10<>(v5, v6, v7, v8, v9, v10, v11, v12, v13, v14);
-    }
-
-    /**
-     * Skip 5 degrees from this tuple.
-     */
-    public final Tuple9<T6, T7, T8, T9, T10, T11, T12, T13, T14> skip5() {
-        return new Tuple9<>(v6, v7, v8, v9, v10, v11, v12, v13, v14);
-    }
-
-    /**
-     * Skip 6 degrees from this tuple.
-     */
-    public final Tuple8<T7, T8, T9, T10, T11, T12, T13, T14> skip6() {
-        return new Tuple8<>(v7, v8, v9, v10, v11, v12, v13, v14);
-    }
-
-    /**
-     * Skip 7 degrees from this tuple.
-     */
-    public final Tuple7<T8, T9, T10, T11, T12, T13, T14> skip7() {
-        return new Tuple7<>(v8, v9, v10, v11, v12, v13, v14);
-    }
-
-    /**
-     * Skip 8 degrees from this tuple.
-     */
-    public final Tuple6<T9, T10, T11, T12, T13, T14> skip8() {
-        return new Tuple6<>(v9, v10, v11, v12, v13, v14);
-    }
-
-    /**
-     * Skip 9 degrees from this tuple.
-     */
-    public final Tuple5<T10, T11, T12, T13, T14> skip9() {
-        return new Tuple5<>(v10, v11, v12, v13, v14);
-    }
-
-    /**
-     * Skip 10 degrees from this tuple.
-     */
-    public final Tuple4<T11, T12, T13, T14> skip10() {
-        return new Tuple4<>(v11, v12, v13, v14);
-    }
-
-    /**
-     * Skip 11 degrees from this tuple.
-     */
-    public final Tuple3<T12, T13, T14> skip11() {
-        return new Tuple3<>(v12, v13, v14);
-    }
-
-    /**
-     * Skip 12 degrees from this tuple.
-     */
-    public final Tuple2<T13, T14> skip12() {
-        return new Tuple2<>(v13, v14);
-    }
-
-    /**
-     * Skip 13 degrees from this tuple.
-     */
-    public final Tuple1<T14> skip13() {
-        return new Tuple1<>(v14);
-    }
-
-    /**
-     * Skip 14 degrees from this tuple.
-     */
-    public final Tuple0 skip14() {
-        return Tuple0.INSTANCE;
-    }
-
-    /**
-     * Apply this tuple as arguments to a function.
-     */
-    public final <R> R map(Function14<? super T1, ? super T2, ? super T3, ? super T4, ? super T5, ? super T6, ? super T7, ? super T8, ? super T9, ? super T10, ? super T11, ? super T12, ? super T13, ? super T14, ? extends R> function) {
-        return function.apply(v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14);
-    }
-
-    /**
-     * Apply attribute 1 as argument to a function and return a new tuple with the substituted argument.
-     */
-    public final <U1> Tuple14<U1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14> map1(Function1<? super T1, ? extends U1> function) {
-        return new Tuple14<>(function.apply(v1), v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14);
-    }
-
-    /**
-     * Apply attribute 2 as argument to a function and return a new tuple with the substituted argument.
-     */
-    public final <U2> Tuple14<T1, U2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14> map2(Function1<? super T2, ? extends U2> function) {
-        return new Tuple14<>(v1, function.apply(v2), v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14);
-    }
-
-    /**
-     * Apply attribute 3 as argument to a function and return a new tuple with the substituted argument.
-     */
-    public final <U3> Tuple14<T1, T2, U3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14> map3(Function1<? super T3, ? extends U3> function) {
-        return new Tuple14<>(v1, v2, function.apply(v3), v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14);
-    }
-
-    /**
-     * Apply attribute 4 as argument to a function and return a new tuple with the substituted argument.
-     */
-    public final <U4> Tuple14<T1, T2, T3, U4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14> map4(Function1<? super T4, ? extends U4> function) {
-        return new Tuple14<>(v1, v2, v3, function.apply(v4), v5, v6, v7, v8, v9, v10, v11, v12, v13, v14);
-    }
-
-    /**
-     * Apply attribute 5 as argument to a function and return a new tuple with the substituted argument.
-     */
-    public final <U5> Tuple14<T1, T2, T3, T4, U5, T6, T7, T8, T9, T10, T11, T12, T13, T14> map5(Function1<? super T5, ? extends U5> function) {
-        return new Tuple14<>(v1, v2, v3, v4, function.apply(v5), v6, v7, v8, v9, v10, v11, v12, v13, v14);
-    }
-
-    /**
-     * Apply attribute 6 as argument to a function and return a new tuple with the substituted argument.
-     */
-    public final <U6> Tuple14<T1, T2, T3, T4, T5, U6, T7, T8, T9, T10, T11, T12, T13, T14> map6(Function1<? super T6, ? extends U6> function) {
-        return new Tuple14<>(v1, v2, v3, v4, v5, function.apply(v6), v7, v8, v9, v10, v11, v12, v13, v14);
-    }
-
-    /**
-     * Apply attribute 7 as argument to a function and return a new tuple with the substituted argument.
-     */
-    public final <U7> Tuple14<T1, T2, T3, T4, T5, T6, U7, T8, T9, T10, T11, T12, T13, T14> map7(Function1<? super T7, ? extends U7> function) {
-        return new Tuple14<>(v1, v2, v3, v4, v5, v6, function.apply(v7), v8, v9, v10, v11, v12, v13, v14);
-    }
-
-    /**
-     * Apply attribute 8 as argument to a function and return a new tuple with the substituted argument.
-     */
-    public final <U8> Tuple14<T1, T2, T3, T4, T5, T6, T7, U8, T9, T10, T11, T12, T13, T14> map8(Function1<? super T8, ? extends U8> function) {
-        return new Tuple14<>(v1, v2, v3, v4, v5, v6, v7, function.apply(v8), v9, v10, v11, v12, v13, v14);
-    }
-
-    /**
-     * Apply attribute 9 as argument to a function and return a new tuple with the substituted argument.
-     */
-    public final <U9> Tuple14<T1, T2, T3, T4, T5, T6, T7, T8, U9, T10, T11, T12, T13, T14> map9(Function1<? super T9, ? extends U9> function) {
-        return new Tuple14<>(v1, v2, v3, v4, v5, v6, v7, v8, function.apply(v9), v10, v11, v12, v13, v14);
-    }
-
-    /**
-     * Apply attribute 10 as argument to a function and return a new tuple with the substituted argument.
-     */
-    public final <U10> Tuple14<T1, T2, T3, T4, T5, T6, T7, T8, T9, U10, T11, T12, T13, T14> map10(Function1<? super T10, ? extends U10> function) {
-        return new Tuple14<>(v1, v2, v3, v4, v5, v6, v7, v8, v9, function.apply(v10), v11, v12, v13, v14);
-    }
-
-    /**
-     * Apply attribute 11 as argument to a function and return a new tuple with the substituted argument.
-     */
-    public final <U11> Tuple14<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, U11, T12, T13, T14> map11(Function1<? super T11, ? extends U11> function) {
-        return new Tuple14<>(v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, function.apply(v11), v12, v13, v14);
-    }
-
-    /**
-     * Apply attribute 12 as argument to a function and return a new tuple with the substituted argument.
-     */
-    public final <U12> Tuple14<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, U12, T13, T14> map12(Function1<? super T12, ? extends U12> function) {
-        return new Tuple14<>(v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, function.apply(v12), v13, v14);
-    }
-
-    /**
-     * Apply attribute 13 as argument to a function and return a new tuple with the substituted argument.
-     */
-    public final <U13> Tuple14<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, U13, T14> map13(Function1<? super T13, ? extends U13> function) {
-        return new Tuple14<>(v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, function.apply(v13), v14);
-    }
-
-    /**
-     * Apply attribute 14 as argument to a function and return a new tuple with the substituted argument.
-     */
-    public final <U14> Tuple14<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, U14> map14(Function1<? super T14, ? extends U14> function) {
-        return new Tuple14<>(v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, function.apply(v14));
-    }
-
-    /**
-     * Maps the attributes of this tuple using a mapper function.
-     */
-    public final <U1, U2, U3, U4, U5, U6, U7, U8, U9, U10, U11, U12, U13, U14> Tuple14<U1, U2, U3, U4, U5, U6, U7, U8, U9, U10, U11, U12, U13, U14> mapAll(Function14<? super T1, ? super T2, ? super T3, ? super T4, ? super T5, ? super T6, ? super T7, ? super T8, ? super T9, ? super T10, ? super T11, ? super T12, ? super T13, ? super T14, Tuple14<U1, U2, U3, U4, U5, U6, U7, U8, U9, U10, U11, U12, U13, U14>> function) {
-        return function.apply(v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14);
-    }
-
-    /**
-     * Maps the attributes of this tuple using mapper functions.
-     */
-    public final <U1, U2, U3, U4, U5, U6, U7, U8, U9, U10, U11, U12, U13, U14> Tuple14<U1, U2, U3, U4, U5, U6, U7, U8, U9, U10, U11, U12, U13, U14> mapAll(Function1<? super T1, ? extends U1> function1, Function1<? super T2, ? extends U2> function2, Function1<? super T3, ? extends U3> function3, Function1<? super T4, ? extends U4> function4, Function1<? super T5, ? extends U5> function5, Function1<? super T6, ? extends U6> function6, Function1<? super T7, ? extends U7> function7, Function1<? super T8, ? extends U8> function8, Function1<? super T9, ? extends U9> function9, Function1<? super T10, ? extends U10> function10, Function1<? super T11, ? extends U11> function11, Function1<? super T12, ? extends U12> function12, Function1<? super T13, ? extends U13> function13, Function1<? super T14, ? extends U14> function14) {
-        return new Tuple14<>(function1.apply(v1), function2.apply(v2), function3.apply(v3), function4.apply(v4), function5.apply(v5), function6.apply(v6), function7.apply(v7), function8.apply(v8), function9.apply(v9), function10.apply(v10), function11.apply(v11), function12.apply(v12), function13.apply(v13), function14.apply(v14));
-    }
-
-    @Override
-    public Tuple14<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14> clone() {
-        return new Tuple14<>(this);
-    }
 }


Mime
View raw message