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);
-    }
 }

Reply via email to