jdk/src/share/classes/java/lang/invoke/FilterGeneric.java
changeset 10160 41b658506149
parent 10159 a3a3c58b415c
parent 10153 ce3cbd445a96
child 10167 977e1335a46f
equal deleted inserted replaced
10159:a3a3c58b415c 10160:41b658506149
     1 /*
       
     2  * Copyright (c) 2008, 2011, Oracle and/or its affiliates. All rights reserved.
       
     3  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
       
     4  *
       
     5  * This code is free software; you can redistribute it and/or modify it
       
     6  * under the terms of the GNU General Public License version 2 only, as
       
     7  * published by the Free Software Foundation.  Oracle designates this
       
     8  * particular file as subject to the "Classpath" exception as provided
       
     9  * by Oracle in the LICENSE file that accompanied this code.
       
    10  *
       
    11  * This code is distributed in the hope that it will be useful, but WITHOUT
       
    12  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
       
    13  * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
       
    14  * version 2 for more details (a copy is included in the LICENSE file that
       
    15  * accompanied this code).
       
    16  *
       
    17  * You should have received a copy of the GNU General Public License version
       
    18  * 2 along with this work; if not, write to the Free Software Foundation,
       
    19  * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
       
    20  *
       
    21  * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
       
    22  * or visit www.oracle.com if you need additional information or have any
       
    23  * questions.
       
    24  */
       
    25 
       
    26 package java.lang.invoke;
       
    27 
       
    28 import java.lang.reflect.*;
       
    29 import static java.lang.invoke.MethodHandleStatics.*;
       
    30 import static java.lang.invoke.MethodHandles.Lookup.IMPL_LOOKUP;
       
    31 
       
    32 /**
       
    33  * These adapters apply arbitrary conversions to arguments
       
    34  * on the way to a ultimate target.
       
    35  * For simplicity, these are all generically typed.
       
    36  * @author jrose
       
    37  */
       
    38 class FilterGeneric {
       
    39     // type for the incoming call (will be generic)
       
    40     private final MethodType entryType;
       
    41     // prototype adapters (clone and customize for each new target & conversion!)
       
    42     private final Adapter[] adapters;
       
    43 
       
    44     /** Compute and cache information common to all filtering adapters
       
    45      *  with the given generic type
       
    46      */
       
    47     FilterGeneric(MethodType entryType) {
       
    48         this.entryType = entryType;
       
    49         int tableSize = Kind.LIMIT.invokerIndex(1 + entryType.parameterCount());
       
    50         this.adapters = new Adapter[tableSize];
       
    51     }
       
    52 
       
    53     Adapter getAdapter(Kind kind, int pos) {
       
    54         int index = kind.invokerIndex(pos);
       
    55         Adapter ad = adapters[index];
       
    56         if (ad != null)  return ad;
       
    57         ad = findAdapter(entryType, kind, pos);
       
    58         if (ad == null)
       
    59             ad = buildAdapterFromBytecodes(entryType, kind, pos);
       
    60         adapters[index] = ad;
       
    61         return ad;
       
    62     }
       
    63 
       
    64     static {
       
    65         assert(MethodHandleNatives.workaroundWithoutRicochetFrames());  // this class is deprecated
       
    66     }
       
    67 
       
    68     Adapter makeInstance(Kind kind, int pos, MethodHandle filter, MethodHandle target) {
       
    69         Adapter ad = getAdapter(kind, pos);
       
    70         return ad.makeInstance(ad.prototypeEntryPoint(), filter, target);
       
    71     }
       
    72 
       
    73     /** Build an adapter of the given generic type, which invokes filter
       
    74      *  on the selected incoming argument before passing it to the target.
       
    75      * @param pos the argument to filter
       
    76      * @param filter the function to call on the argument
       
    77      * @param target the target to call with the modified argument list
       
    78      * @return an adapter method handle
       
    79      */
       
    80     public static MethodHandle makeArgumentFilter(int pos, MethodHandle filter, MethodHandle target) {
       
    81         return make(Kind.value, pos, filter, target);
       
    82     }
       
    83 
       
    84     /** Build an adapter of the given generic type, which invokes a combiner
       
    85      *  on a selected group of leading arguments.
       
    86      *  The result of the combiner is prepended before all those arguments.
       
    87      * @param combiner the function to call on the selected leading arguments
       
    88      * @param target the target to call with the modified argument list
       
    89      * @return an adapter method handle
       
    90      */
       
    91     public static MethodHandle makeArgumentFolder(MethodHandle combiner, MethodHandle target) {
       
    92         int num = combiner.type().parameterCount();
       
    93         return make(Kind.fold, num, combiner, target);
       
    94     }
       
    95 
       
    96     /** Build an adapter of the given generic type, which invokes a filter
       
    97      *  on the incoming arguments, reified as a group.
       
    98      *  The argument may be modified (by side effects in the filter).
       
    99      *  The arguments, possibly modified, are passed on to the target.
       
   100      * @param filter the function to call on the arguments
       
   101      * @param target the target to call with the possibly-modified argument list
       
   102      * @return an adapter method handle
       
   103      */
       
   104     public static MethodHandle makeFlyby(MethodHandle filter, MethodHandle target) {
       
   105         return make(Kind.flyby, 0, filter, target);
       
   106     }
       
   107 
       
   108     /** Build an adapter of the given generic type, which invokes a collector
       
   109      *  on the selected incoming argument and all following arguments.
       
   110      *  The result of the collector replaces all those arguments.
       
   111      * @param collector the function to call on the selected trailing arguments
       
   112      * @param target the target to call with the modified argument list
       
   113      * @return an adapter method handle
       
   114      */
       
   115     public static MethodHandle makeArgumentCollector(MethodHandle collector, MethodHandle target) {
       
   116         int pos = target.type().parameterCount() - 1;
       
   117         return make(Kind.collect, pos, collector, target);
       
   118     }
       
   119 
       
   120     static MethodHandle make(Kind kind, int pos, MethodHandle filter, MethodHandle target) {
       
   121         FilterGeneric fgen = of(kind, pos, filter.type(), target.type());
       
   122         return fgen.makeInstance(kind, pos, filter, target);
       
   123     }
       
   124 
       
   125     /** Return the adapter information for this target and filter type. */
       
   126     static FilterGeneric of(Kind kind, int pos, MethodType filterType, MethodType targetType) {
       
   127         MethodType entryType = entryType(kind, pos, filterType, targetType);
       
   128         if (entryType.generic() != entryType)
       
   129             throw newIllegalArgumentException("must be generic: "+entryType);
       
   130         MethodTypeForm form = entryType.form();
       
   131         FilterGeneric filterGen = form.filterGeneric;
       
   132         if (filterGen == null)
       
   133             form.filterGeneric = filterGen = new FilterGeneric(entryType);
       
   134         return filterGen;
       
   135     }
       
   136 
       
   137     public String toString() {
       
   138         return "FilterGeneric/"+entryType;
       
   139     }
       
   140 
       
   141     static MethodType targetType(MethodType entryType, Kind kind, int pos, MethodType filterType) {
       
   142         MethodType type = entryType;
       
   143         switch (kind) {
       
   144             case value:
       
   145             case flyby:
       
   146                 break;  // no change
       
   147             case fold:
       
   148                 type = type.insertParameterTypes(0, filterType.returnType());
       
   149                 break;
       
   150             case collect:
       
   151                 type = type.dropParameterTypes(pos, type.parameterCount());
       
   152                 type = type.insertParameterTypes(pos, filterType.returnType());
       
   153                 break;
       
   154             default:
       
   155                 throw new InternalError();
       
   156         }
       
   157         return type;
       
   158     }
       
   159 
       
   160     static MethodType entryType(Kind kind, int pos, MethodType filterType, MethodType targetType) {
       
   161         MethodType type = targetType;
       
   162         switch (kind) {
       
   163             case value:
       
   164             case flyby:
       
   165                 break;  // no change
       
   166             case fold:
       
   167                 type = type.dropParameterTypes(0, 1);
       
   168                 break;
       
   169             case collect:
       
   170                 type = type.dropParameterTypes(pos, pos+1);
       
   171                 type = type.insertParameterTypes(pos, filterType.parameterList());
       
   172                 break;
       
   173             default:
       
   174                 throw new InternalError();
       
   175         }
       
   176         return type;
       
   177     }
       
   178 
       
   179     /* Create an adapter that handles spreading calls for the given type. */
       
   180     static Adapter findAdapter(MethodType entryType, Kind kind, int pos) {
       
   181         int argc = entryType.parameterCount();
       
   182         String cname0 = "F"+argc;
       
   183         String cname1 = "F"+argc+kind.key;
       
   184         String[] cnames = { cname0, cname1 };
       
   185         String iname = kind.invokerName(pos);
       
   186         // e.g., F5; invoke_C3
       
   187         for (String cname : cnames) {
       
   188             Class<? extends Adapter> acls = Adapter.findSubClass(cname);
       
   189             if (acls == null)  continue;
       
   190             // see if it has the required invoke method
       
   191             MethodHandle entryPoint = null;
       
   192             try {
       
   193                 entryPoint = IMPL_LOOKUP.findSpecial(acls, iname, entryType, acls);
       
   194             } catch (ReflectiveOperationException ex) {
       
   195             }
       
   196             if (entryPoint == null)  continue;
       
   197             Constructor<? extends Adapter> ctor = null;
       
   198             try {
       
   199                 ctor = acls.getDeclaredConstructor(MethodHandle.class);
       
   200             } catch (NoSuchMethodException ex) {
       
   201             } catch (SecurityException ex) {
       
   202             }
       
   203             if (ctor == null)  continue;
       
   204             try {
       
   205                 // Produce an instance configured as a prototype.
       
   206                 return ctor.newInstance(entryPoint);
       
   207             } catch (IllegalArgumentException ex) {
       
   208             } catch (InvocationTargetException wex) {
       
   209                 Throwable ex = wex.getTargetException();
       
   210                 if (ex instanceof Error)  throw (Error)ex;
       
   211                 if (ex instanceof RuntimeException)  throw (RuntimeException)ex;
       
   212             } catch (InstantiationException ex) {
       
   213             } catch (IllegalAccessException ex) {
       
   214             }
       
   215         }
       
   216         return null;
       
   217     }
       
   218 
       
   219     static Adapter buildAdapterFromBytecodes(MethodType entryType, Kind kind, int pos) {
       
   220         throw new UnsupportedOperationException("NYI");
       
   221     }
       
   222 
       
   223     /**
       
   224      * This adapter takes some untyped arguments, and returns an untyped result.
       
   225      * Internally, it applies the invoker to the target, which causes the
       
   226      * objects to be unboxed; the result is a raw type in L/I/J/F/D.
       
   227      * This result is passed to convert, which is responsible for
       
   228      * converting the raw result into a boxed object.
       
   229      * The invoker is kept separate from the target because it can be
       
   230      * generated once per type erasure family, and reused across adapters.
       
   231      */
       
   232     static abstract class Adapter extends BoundMethodHandle {
       
   233         protected final MethodHandle filter; // transforms one or more arguments
       
   234         protected final MethodHandle target; // ultimate target
       
   235 
       
   236         @Override
       
   237         String debugString() {
       
   238             return addTypeString(target, this);
       
   239         }
       
   240 
       
   241         protected boolean isPrototype() { return target == null; }
       
   242         protected Adapter(MethodHandle entryPoint) {
       
   243             this(entryPoint, entryPoint, null);
       
   244             assert(isPrototype());
       
   245         }
       
   246         protected MethodHandle prototypeEntryPoint() {
       
   247             if (!isPrototype())  throw new InternalError();
       
   248             return filter;
       
   249         }
       
   250 
       
   251         protected Adapter(MethodHandle entryPoint,
       
   252                           MethodHandle filter, MethodHandle target) {
       
   253             super(entryPoint);
       
   254             this.filter = filter;
       
   255             this.target = target;
       
   256         }
       
   257 
       
   258         /** Make a copy of self, with new fields. */
       
   259         protected abstract Adapter makeInstance(MethodHandle entryPoint,
       
   260                 MethodHandle filter, MethodHandle target);
       
   261         // { return new ThisType(entryPoint, filter, target); }
       
   262 
       
   263         static private final String CLASS_PREFIX; // "java.lang.invoke.FilterGeneric$"
       
   264         static {
       
   265             String aname = Adapter.class.getName();
       
   266             String sname = Adapter.class.getSimpleName();
       
   267             if (!aname.endsWith(sname))  throw new InternalError();
       
   268             CLASS_PREFIX = aname.substring(0, aname.length() - sname.length());
       
   269         }
       
   270         /** Find a sibing class of Adapter. */
       
   271         static Class<? extends Adapter> findSubClass(String name) {
       
   272             String cname = Adapter.CLASS_PREFIX + name;
       
   273             try {
       
   274                 return Class.forName(cname).asSubclass(Adapter.class);
       
   275             } catch (ClassNotFoundException ex) {
       
   276                 return null;
       
   277             } catch (ClassCastException ex) {
       
   278                 return null;
       
   279             }
       
   280         }
       
   281     }
       
   282 
       
   283     static enum Kind {
       
   284         value('V'),      // filter and replace Nth argument value
       
   285         fold('F'),       // fold first N arguments, prepend result
       
   286         collect('C'),    // collect last N arguments, replace with result
       
   287         flyby('Y'),      // reify entire argument list, filter, pass to target
       
   288         LIMIT('?');
       
   289         static final int COUNT = LIMIT.ordinal();
       
   290 
       
   291         final char key;
       
   292         Kind(char key) { this.key = key; }
       
   293         String invokerName(int pos) { return "invoke_"+key+""+pos; }
       
   294         int invokerIndex(int pos) { return pos * COUNT + ordinal(); }
       
   295     }
       
   296 
       
   297     /* generated classes follow this pattern:
       
   298     static class F1X extends Adapter {
       
   299         protected F1X(MethodHandle entryPoint) { super(entryPoint); }  // to build prototype
       
   300         protected F1X(MethodHandle e, MethodHandle f, MethodHandle t)
       
   301                         { super(e, f, t); }
       
   302         protected F1X makeInstance(MethodHandle e, MethodHandle f, MethodHandle t)
       
   303                         { return new F1X(e, f, t); }
       
   304         protected Object invoke_V0(Object a0) { return target.invokeExact(filter.invokeExact(a0)); }
       
   305         protected Object invoke_F0(Object a0) { return target.invokeExact(filter.invokeExact(), a0); }
       
   306         protected Object invoke_F1(Object a0) { return target.invokeExact(filter.invokeExact(a0), a0); }
       
   307         protected Object invoke_C0(Object a0) { return target.invokeExact(filter.invokeExact(a0)); }
       
   308         protected Object invoke_C1(Object a0) { return target.invokeExact(a0, filter.invokeExact()); }
       
   309         protected Object invoke_Y0(Object a0) { Object[] av = { a0 };
       
   310                        filter.invokeExact(av); return target.invokeExact(av[0]); }
       
   311     }
       
   312     static class F2X extends Adapter {
       
   313         protected F2X(MethodHandle entryPoint) { super(entryPoint); }  // to build prototype
       
   314         protected F2X(MethodHandle e, MethodHandle f, MethodHandle t)
       
   315                         { super(e, f, t); }
       
   316         protected F2X makeInstance(MethodHandle e, MethodHandle f, MethodHandle t)
       
   317                         { return new F2X(e, f, t); }
       
   318         protected Object invoke_V0(Object a0, Object a1) { return target.invokeExact(filter.invokeExact(a0), a1); }
       
   319         protected Object invoke_V1(Object a0, Object a1) { return target.invokeExact(a0, filter.invokeExact(a1)); }
       
   320         protected Object invoke_F0(Object a0, Object a1) { return target.invokeExact(filter.invokeExact(), a0, a1); }
       
   321         protected Object invoke_F1(Object a0, Object a1) { return target.invokeExact(filter.invokeExact(a0), a0, a1); }
       
   322         protected Object invoke_F2(Object a0, Object a1) { return target.invokeExact(filter.invokeExact(a0, a1), a0, a1); }
       
   323         protected Object invoke_C0(Object a0, Object a1) { return target.invokeExact(filter.invokeExact(a0, a1)); }
       
   324         protected Object invoke_C1(Object a0, Object a1) { return target.invokeExact(a0, filter.invokeExact(a1)); }
       
   325         protected Object invoke_C2(Object a0, Object a1) { return target.invokeExact(a0, a1, filter.invokeExact()); }
       
   326         protected Object invoke_Y0(Object a0, Object a1) { Object[] av = { a0, a1 };
       
   327                        filter.invokeExact(av); return target.invokeExact(av[0], av[1]); }
       
   328     }
       
   329     // */
       
   330 
       
   331     // This one is written by hand:
       
   332     static class F0 extends Adapter {
       
   333         protected F0(MethodHandle entryPoint) { super(entryPoint); }  // to build prototype
       
   334         protected F0(MethodHandle e, MethodHandle f, MethodHandle t) {
       
   335             super(e, f, t); }
       
   336         protected F0 makeInstance(MethodHandle e, MethodHandle f, MethodHandle t) {
       
   337             return new F0(e, f, t); }
       
   338         protected Object invoke_F0() throws Throwable {
       
   339             return target.invokeExact(filter.invokeExact()); }
       
   340         protected Object invoke_C0() throws Throwable {
       
   341             return target.invokeExact(filter.invokeExact()); }
       
   342         static final Object[] NO_ARGS = { };
       
   343         protected Object invoke_Y0() throws Throwable {
       
   344             filter.invokeExact(NO_ARGS); // make the flyby
       
   345             return target.invokeExact(); }
       
   346     }
       
   347 
       
   348 /*
       
   349   : SHELL; n=FilterGeneric; cp -p $n.java $n.java-; sed < $n.java- > $n.java+ -e '/{{*{{/,/}}*}}/w /tmp/genclasses.java' -e '/}}*}}/q'; (cd /tmp; javac -d . genclasses.java; java -ea -cp . genclasses | sed 's| *[/]/ *$||') >> $n.java+; echo '}' >> $n.java+; mv $n.java+ $n.java; mv $n.java- $n.java~
       
   350 //{{{
       
   351 import java.util.*;
       
   352 class genclasses {
       
   353     static String[][] TEMPLATES = { {
       
   354         "@for@ N=1..20",
       
   355         "    //@each-cat@",
       
   356         "    static class @cat@ extends Adapter {",
       
   357         "        protected @cat@(MethodHandle entryPoint) { super(entryPoint); }  // to build prototype",
       
   358         "        protected @cat@(MethodHandle e, MethodHandle f, MethodHandle t) {",
       
   359         "            super(e, f, t); }",
       
   360         "        protected @cat@ makeInstance(MethodHandle e, MethodHandle f, MethodHandle t) {",
       
   361         "            return new @cat@(e, f, t); }",
       
   362         "        //@each-P@",
       
   363         "        protected Object invoke_V@P@(@Tvav@) throws Throwable {",
       
   364         "            return target.invokeExact(@a0_@@Psp@filter.invokeExact(a@P@)@_aN@); }",
       
   365         "        //@end-P@",
       
   366         "        //@each-P@",
       
   367         "        protected Object invoke_F@P@(@Tvav@) throws Throwable {",
       
   368         "            return target.invokeExact(filter.invokeExact(@a0@),",
       
   369         "                                 @av@); }",
       
   370         "        //@end-P@",
       
   371         "        protected Object invoke_F@N@(@Tvav@) throws Throwable {",
       
   372         "            return target.invokeExact(filter.invokeExact(@av@),",
       
   373         "                                 @av@); }",
       
   374         "        //@each-P@",
       
   375         "        protected Object invoke_C@P@(@Tvav@) throws Throwable {",
       
   376         "            return target.invokeExact(@a0_@filter.invokeExact(a@P@@_aN@)); }",
       
   377         "        //@end-P@",
       
   378         "        protected Object invoke_C@N@(@Tvav@) throws Throwable {",
       
   379         "            return target.invokeExact(@av@, filter.invokeExact()); }",
       
   380         "        protected Object invoke_Y0(@Tvav@) throws Throwable {",
       
   381         "            Object[] av = { @av@ };",
       
   382         "            filter.invokeExact(av); // make the flyby",
       
   383         "            return target.invokeExact(@av[i]@); }",
       
   384         "    }",
       
   385     } };
       
   386     static final String NEWLINE_INDENT = " //\n                                 ";
       
   387     enum VAR {
       
   388         cat, N, P, Tvav, av, a0, a0_, _aN, Psp, av_i_;
       
   389         public final String pattern = "@"+toString().replace('_','.')+"@";
       
   390         public String binding = toString();
       
   391         static void makeBindings(boolean topLevel, int inargs, int pos) {
       
   392             assert(-1 <= pos && pos < inargs);
       
   393             VAR.cat.binding = "F"+inargs;
       
   394             VAR.N.binding = String.valueOf(inargs); // incoming arg count
       
   395             VAR.P.binding = String.valueOf(pos);  // selected arg position
       
   396             String[] av = new String[inargs];
       
   397             String[] Tvav = new String[inargs];
       
   398             String[] av_i_ = new String[inargs];
       
   399             for (int i = 0; i < inargs; i++) {
       
   400                 av[i] = arg(i);
       
   401                 av_i_[i] = "av["+i+"]";
       
   402                 String spc = "";
       
   403                 if (i > 0 && i % 4 == 0) spc = NEWLINE_INDENT+(pos>9?" ":"")+"  ";
       
   404                 Tvav[i] = spc+param("Object", av[i]);
       
   405             }
       
   406             VAR.av.binding = comma(av);
       
   407             VAR.av_i_.binding = comma(av_i_);
       
   408             VAR.Tvav.binding = comma(Tvav);
       
   409             if (pos >= 0) {
       
   410                 VAR.Psp.binding = (pos > 0 && pos % 10 == 0) ? NEWLINE_INDENT : "";
       
   411                 String[] a0 = new String[pos];
       
   412                 String[] aN = new String[inargs - (pos+1)];
       
   413                 for (int i = 0; i < pos; i++) {
       
   414                     String spc = "";
       
   415                     if (i > 0 && i % 10 == 0) spc = NEWLINE_INDENT;
       
   416                     a0[i] = spc+av[i];
       
   417                 }
       
   418                 VAR.a0.binding = comma(a0);
       
   419                 VAR.a0_.binding = comma(a0, ", ");
       
   420                 for (int i = pos+1; i < inargs; i++) {
       
   421                     String spc = "";
       
   422                     if (i > 0 && i % 10 == 0) spc = NEWLINE_INDENT;
       
   423                     aN[i - (pos+1)] = spc+av[i];
       
   424                 }
       
   425                 VAR._aN.binding = comma(", ", aN);
       
   426             }
       
   427         }
       
   428         static String arg(int i) { return "a"+i; }
       
   429         static String param(String t, String a) { return t+" "+a; }
       
   430         static String comma(String[] v) { return comma(v, ""); }
       
   431         static String comma(String[] v, String sep) { return comma("", v, sep); }
       
   432         static String comma(String sep, String[] v) { return comma(sep, v, ""); }
       
   433         static String comma(String sep1, String[] v, String sep2) {
       
   434             if (v.length == 0)  return "";
       
   435             String res = v[0];
       
   436             for (int i = 1; i < v.length; i++)  res += ", "+v[i];
       
   437             return sep1 + res + sep2;
       
   438         }
       
   439         static String transform(String string) {
       
   440             for (VAR var : values())
       
   441                 string = string.replaceAll(var.pattern, var.binding);
       
   442             return string;
       
   443         }
       
   444     }
       
   445     static String[] stringsIn(String[] strings, int beg, int end) {
       
   446         return Arrays.copyOfRange(strings, beg, Math.min(end, strings.length));
       
   447     }
       
   448     static String[] stringsBefore(String[] strings, int pos) {
       
   449         return stringsIn(strings, 0, pos);
       
   450     }
       
   451     static String[] stringsAfter(String[] strings, int pos) {
       
   452         return stringsIn(strings, pos, strings.length);
       
   453     }
       
   454     static int indexAfter(String[] strings, int pos, String tag) {
       
   455         return Math.min(indexBefore(strings, pos, tag) + 1, strings.length);
       
   456     }
       
   457     static int indexBefore(String[] strings, int pos, String tag) {
       
   458         for (int i = pos, end = strings.length; ; i++) {
       
   459             if (i == end || strings[i].endsWith(tag))  return i;
       
   460         }
       
   461     }
       
   462     static int MIN_ARITY, MAX_ARITY;
       
   463     public static void main(String... av) {
       
   464         for (String[] template : TEMPLATES) {
       
   465             int forLinesLimit = indexBefore(template, 0, "@each-cat@");
       
   466             String[] forLines = stringsBefore(template, forLinesLimit);
       
   467             template = stringsAfter(template, forLinesLimit);
       
   468             for (String forLine : forLines)
       
   469                 expandTemplate(forLine, template);
       
   470         }
       
   471     }
       
   472     static void expandTemplate(String forLine, String[] template) {
       
   473         String[] params = forLine.split("[^0-9]+");
       
   474         if (params[0].length() == 0)  params = stringsAfter(params, 1);
       
   475         System.out.println("//params="+Arrays.asList(params));
       
   476         int pcur = 0;
       
   477         MIN_ARITY = Integer.valueOf(params[pcur++]);
       
   478         MAX_ARITY = Integer.valueOf(params[pcur++]);
       
   479         if (pcur != params.length)  throw new RuntimeException("bad extra param: "+forLine);
       
   480         for (int inargs = MIN_ARITY; inargs <= MAX_ARITY; inargs++) {
       
   481             expandTemplate(template, true, inargs, -1);
       
   482         }
       
   483     }
       
   484     static void expandTemplate(String[] template, boolean topLevel, int inargs, int pos) {
       
   485         VAR.makeBindings(topLevel, inargs, pos);
       
   486         for (int i = 0; i < template.length; i++) {
       
   487             String line = template[i];
       
   488             if (line.endsWith("@each-cat@")) {
       
   489                 // ignore
       
   490             } else if (line.endsWith("@each-P@")) {
       
   491                 int blockEnd = indexAfter(template, i, "@end-P@");
       
   492                 String[] block = stringsIn(template, i+1, blockEnd-1);
       
   493                 for (int pos1 = Math.max(0,pos); pos1 < inargs; pos1++)
       
   494                     expandTemplate(block, false, inargs, pos1);
       
   495                 VAR.makeBindings(topLevel, inargs, pos);
       
   496                 i = blockEnd-1; continue;
       
   497             } else {
       
   498                 System.out.println(VAR.transform(line));
       
   499             }
       
   500         }
       
   501     }
       
   502 }
       
   503 //}}} */
       
   504 //params=[1, 20]
       
   505     static class F1 extends Adapter {
       
   506         protected F1(MethodHandle entryPoint) { super(entryPoint); }  // to build prototype
       
   507         protected F1(MethodHandle e, MethodHandle f, MethodHandle t) {
       
   508             super(e, f, t); }
       
   509         protected F1 makeInstance(MethodHandle e, MethodHandle f, MethodHandle t) {
       
   510             return new F1(e, f, t); }
       
   511         protected Object invoke_V0(Object a0) throws Throwable {
       
   512             return target.invokeExact(filter.invokeExact(a0)); }
       
   513         protected Object invoke_F0(Object a0) throws Throwable {
       
   514             return target.invokeExact(filter.invokeExact(),
       
   515                                  a0); }
       
   516         protected Object invoke_F1(Object a0) throws Throwable {
       
   517             return target.invokeExact(filter.invokeExact(a0),
       
   518                                  a0); }
       
   519         protected Object invoke_C0(Object a0) throws Throwable {
       
   520             return target.invokeExact(filter.invokeExact(a0)); }
       
   521         protected Object invoke_C1(Object a0) throws Throwable {
       
   522             return target.invokeExact(a0, filter.invokeExact()); }
       
   523         protected Object invoke_Y0(Object a0) throws Throwable {
       
   524             Object[] av = { a0 };
       
   525             filter.invokeExact(av); // make the flyby
       
   526             return target.invokeExact(av[0]); }
       
   527     }
       
   528     static class F2 extends Adapter {
       
   529         protected F2(MethodHandle entryPoint) { super(entryPoint); }  // to build prototype
       
   530         protected F2(MethodHandle e, MethodHandle f, MethodHandle t) {
       
   531             super(e, f, t); }
       
   532         protected F2 makeInstance(MethodHandle e, MethodHandle f, MethodHandle t) {
       
   533             return new F2(e, f, t); }
       
   534         protected Object invoke_V0(Object a0, Object a1) throws Throwable {
       
   535             return target.invokeExact(filter.invokeExact(a0), a1); }
       
   536         protected Object invoke_V1(Object a0, Object a1) throws Throwable {
       
   537             return target.invokeExact(a0, filter.invokeExact(a1)); }
       
   538         protected Object invoke_F0(Object a0, Object a1) throws Throwable {
       
   539             return target.invokeExact(filter.invokeExact(),
       
   540                                  a0, a1); }
       
   541         protected Object invoke_F1(Object a0, Object a1) throws Throwable {
       
   542             return target.invokeExact(filter.invokeExact(a0),
       
   543                                  a0, a1); }
       
   544         protected Object invoke_F2(Object a0, Object a1) throws Throwable {
       
   545             return target.invokeExact(filter.invokeExact(a0, a1),
       
   546                                  a0, a1); }
       
   547         protected Object invoke_C0(Object a0, Object a1) throws Throwable {
       
   548             return target.invokeExact(filter.invokeExact(a0, a1)); }
       
   549         protected Object invoke_C1(Object a0, Object a1) throws Throwable {
       
   550             return target.invokeExact(a0, filter.invokeExact(a1)); }
       
   551         protected Object invoke_C2(Object a0, Object a1) throws Throwable {
       
   552             return target.invokeExact(a0, a1, filter.invokeExact()); }
       
   553         protected Object invoke_Y0(Object a0, Object a1) throws Throwable {
       
   554             Object[] av = { a0, a1 };
       
   555             filter.invokeExact(av); // make the flyby
       
   556             return target.invokeExact(av[0], av[1]); }
       
   557     }
       
   558     static class F3 extends Adapter {
       
   559         protected F3(MethodHandle entryPoint) { super(entryPoint); }  // to build prototype
       
   560         protected F3(MethodHandle e, MethodHandle f, MethodHandle t) {
       
   561             super(e, f, t); }
       
   562         protected F3 makeInstance(MethodHandle e, MethodHandle f, MethodHandle t) {
       
   563             return new F3(e, f, t); }
       
   564         protected Object invoke_V0(Object a0, Object a1, Object a2) throws Throwable {
       
   565             return target.invokeExact(filter.invokeExact(a0), a1, a2); }
       
   566         protected Object invoke_V1(Object a0, Object a1, Object a2) throws Throwable {
       
   567             return target.invokeExact(a0, filter.invokeExact(a1), a2); }
       
   568         protected Object invoke_V2(Object a0, Object a1, Object a2) throws Throwable {
       
   569             return target.invokeExact(a0, a1, filter.invokeExact(a2)); }
       
   570         protected Object invoke_F0(Object a0, Object a1, Object a2) throws Throwable {
       
   571             return target.invokeExact(filter.invokeExact(),
       
   572                                  a0, a1, a2); }
       
   573         protected Object invoke_F1(Object a0, Object a1, Object a2) throws Throwable {
       
   574             return target.invokeExact(filter.invokeExact(a0),
       
   575                                  a0, a1, a2); }
       
   576         protected Object invoke_F2(Object a0, Object a1, Object a2) throws Throwable {
       
   577             return target.invokeExact(filter.invokeExact(a0, a1),
       
   578                                  a0, a1, a2); }
       
   579         protected Object invoke_F3(Object a0, Object a1, Object a2) throws Throwable {
       
   580             return target.invokeExact(filter.invokeExact(a0, a1, a2),
       
   581                                  a0, a1, a2); }
       
   582         protected Object invoke_C0(Object a0, Object a1, Object a2) throws Throwable {
       
   583             return target.invokeExact(filter.invokeExact(a0, a1, a2)); }
       
   584         protected Object invoke_C1(Object a0, Object a1, Object a2) throws Throwable {
       
   585             return target.invokeExact(a0, filter.invokeExact(a1, a2)); }
       
   586         protected Object invoke_C2(Object a0, Object a1, Object a2) throws Throwable {
       
   587             return target.invokeExact(a0, a1, filter.invokeExact(a2)); }
       
   588         protected Object invoke_C3(Object a0, Object a1, Object a2) throws Throwable {
       
   589             return target.invokeExact(a0, a1, a2, filter.invokeExact()); }
       
   590         protected Object invoke_Y0(Object a0, Object a1, Object a2) throws Throwable {
       
   591             Object[] av = { a0, a1, a2 };
       
   592             filter.invokeExact(av); // make the flyby
       
   593             return target.invokeExact(av[0], av[1], av[2]); }
       
   594     }
       
   595     static class F4 extends Adapter {
       
   596         protected F4(MethodHandle entryPoint) { super(entryPoint); }  // to build prototype
       
   597         protected F4(MethodHandle e, MethodHandle f, MethodHandle t) {
       
   598             super(e, f, t); }
       
   599         protected F4 makeInstance(MethodHandle e, MethodHandle f, MethodHandle t) {
       
   600             return new F4(e, f, t); }
       
   601         protected Object invoke_V0(Object a0, Object a1, Object a2, Object a3) throws Throwable {
       
   602             return target.invokeExact(filter.invokeExact(a0), a1, a2, a3); }
       
   603         protected Object invoke_V1(Object a0, Object a1, Object a2, Object a3) throws Throwable {
       
   604             return target.invokeExact(a0, filter.invokeExact(a1), a2, a3); }
       
   605         protected Object invoke_V2(Object a0, Object a1, Object a2, Object a3) throws Throwable {
       
   606             return target.invokeExact(a0, a1, filter.invokeExact(a2), a3); }
       
   607         protected Object invoke_V3(Object a0, Object a1, Object a2, Object a3) throws Throwable {
       
   608             return target.invokeExact(a0, a1, a2, filter.invokeExact(a3)); }
       
   609         protected Object invoke_F0(Object a0, Object a1, Object a2, Object a3) throws Throwable {
       
   610             return target.invokeExact(filter.invokeExact(),
       
   611                                  a0, a1, a2, a3); }
       
   612         protected Object invoke_F1(Object a0, Object a1, Object a2, Object a3) throws Throwable {
       
   613             return target.invokeExact(filter.invokeExact(a0),
       
   614                                  a0, a1, a2, a3); }
       
   615         protected Object invoke_F2(Object a0, Object a1, Object a2, Object a3) throws Throwable {
       
   616             return target.invokeExact(filter.invokeExact(a0, a1),
       
   617                                  a0, a1, a2, a3); }
       
   618         protected Object invoke_F3(Object a0, Object a1, Object a2, Object a3) throws Throwable {
       
   619             return target.invokeExact(filter.invokeExact(a0, a1, a2),
       
   620                                  a0, a1, a2, a3); }
       
   621         protected Object invoke_F4(Object a0, Object a1, Object a2, Object a3) throws Throwable {
       
   622             return target.invokeExact(filter.invokeExact(a0, a1, a2, a3),
       
   623                                  a0, a1, a2, a3); }
       
   624         protected Object invoke_C0(Object a0, Object a1, Object a2, Object a3) throws Throwable {
       
   625             return target.invokeExact(filter.invokeExact(a0, a1, a2, a3)); }
       
   626         protected Object invoke_C1(Object a0, Object a1, Object a2, Object a3) throws Throwable {
       
   627             return target.invokeExact(a0, filter.invokeExact(a1, a2, a3)); }
       
   628         protected Object invoke_C2(Object a0, Object a1, Object a2, Object a3) throws Throwable {
       
   629             return target.invokeExact(a0, a1, filter.invokeExact(a2, a3)); }
       
   630         protected Object invoke_C3(Object a0, Object a1, Object a2, Object a3) throws Throwable {
       
   631             return target.invokeExact(a0, a1, a2, filter.invokeExact(a3)); }
       
   632         protected Object invoke_C4(Object a0, Object a1, Object a2, Object a3) throws Throwable {
       
   633             return target.invokeExact(a0, a1, a2, a3, filter.invokeExact()); }
       
   634         protected Object invoke_Y0(Object a0, Object a1, Object a2, Object a3) throws Throwable {
       
   635             Object[] av = { a0, a1, a2, a3 };
       
   636             filter.invokeExact(av); // make the flyby
       
   637             return target.invokeExact(av[0], av[1], av[2], av[3]); }
       
   638     }
       
   639     static class F5 extends Adapter {
       
   640         protected F5(MethodHandle entryPoint) { super(entryPoint); }  // to build prototype
       
   641         protected F5(MethodHandle e, MethodHandle f, MethodHandle t) {
       
   642             super(e, f, t); }
       
   643         protected F5 makeInstance(MethodHandle e, MethodHandle f, MethodHandle t) {
       
   644             return new F5(e, f, t); }
       
   645         protected Object invoke_V0(Object a0, Object a1, Object a2, Object a3,
       
   646                                    Object a4) throws Throwable {
       
   647             return target.invokeExact(filter.invokeExact(a0), a1, a2, a3, a4); }
       
   648         protected Object invoke_V1(Object a0, Object a1, Object a2, Object a3,
       
   649                                    Object a4) throws Throwable {
       
   650             return target.invokeExact(a0, filter.invokeExact(a1), a2, a3, a4); }
       
   651         protected Object invoke_V2(Object a0, Object a1, Object a2, Object a3,
       
   652                                    Object a4) throws Throwable {
       
   653             return target.invokeExact(a0, a1, filter.invokeExact(a2), a3, a4); }
       
   654         protected Object invoke_V3(Object a0, Object a1, Object a2, Object a3,
       
   655                                    Object a4) throws Throwable {
       
   656             return target.invokeExact(a0, a1, a2, filter.invokeExact(a3), a4); }
       
   657         protected Object invoke_V4(Object a0, Object a1, Object a2, Object a3,
       
   658                                    Object a4) throws Throwable {
       
   659             return target.invokeExact(a0, a1, a2, a3, filter.invokeExact(a4)); }
       
   660         protected Object invoke_F0(Object a0, Object a1, Object a2, Object a3,
       
   661                                    Object a4) throws Throwable {
       
   662             return target.invokeExact(filter.invokeExact(),
       
   663                                  a0, a1, a2, a3, a4); }
       
   664         protected Object invoke_F1(Object a0, Object a1, Object a2, Object a3,
       
   665                                    Object a4) throws Throwable {
       
   666             return target.invokeExact(filter.invokeExact(a0),
       
   667                                  a0, a1, a2, a3, a4); }
       
   668         protected Object invoke_F2(Object a0, Object a1, Object a2, Object a3,
       
   669                                    Object a4) throws Throwable {
       
   670             return target.invokeExact(filter.invokeExact(a0, a1),
       
   671                                  a0, a1, a2, a3, a4); }
       
   672         protected Object invoke_F3(Object a0, Object a1, Object a2, Object a3,
       
   673                                    Object a4) throws Throwable {
       
   674             return target.invokeExact(filter.invokeExact(a0, a1, a2),
       
   675                                  a0, a1, a2, a3, a4); }
       
   676         protected Object invoke_F4(Object a0, Object a1, Object a2, Object a3,
       
   677                                    Object a4) throws Throwable {
       
   678             return target.invokeExact(filter.invokeExact(a0, a1, a2, a3),
       
   679                                  a0, a1, a2, a3, a4); }
       
   680         protected Object invoke_F5(Object a0, Object a1, Object a2, Object a3,
       
   681                                    Object a4) throws Throwable {
       
   682             return target.invokeExact(filter.invokeExact(a0, a1, a2, a3, a4),
       
   683                                  a0, a1, a2, a3, a4); }
       
   684         protected Object invoke_C0(Object a0, Object a1, Object a2, Object a3,
       
   685                                    Object a4) throws Throwable {
       
   686             return target.invokeExact(filter.invokeExact(a0, a1, a2, a3, a4)); }
       
   687         protected Object invoke_C1(Object a0, Object a1, Object a2, Object a3,
       
   688                                    Object a4) throws Throwable {
       
   689             return target.invokeExact(a0, filter.invokeExact(a1, a2, a3, a4)); }
       
   690         protected Object invoke_C2(Object a0, Object a1, Object a2, Object a3,
       
   691                                    Object a4) throws Throwable {
       
   692             return target.invokeExact(a0, a1, filter.invokeExact(a2, a3, a4)); }
       
   693         protected Object invoke_C3(Object a0, Object a1, Object a2, Object a3,
       
   694                                    Object a4) throws Throwable {
       
   695             return target.invokeExact(a0, a1, a2, filter.invokeExact(a3, a4)); }
       
   696         protected Object invoke_C4(Object a0, Object a1, Object a2, Object a3,
       
   697                                    Object a4) throws Throwable {
       
   698             return target.invokeExact(a0, a1, a2, a3, filter.invokeExact(a4)); }
       
   699         protected Object invoke_C5(Object a0, Object a1, Object a2, Object a3,
       
   700                                    Object a4) throws Throwable {
       
   701             return target.invokeExact(a0, a1, a2, a3, a4, filter.invokeExact()); }
       
   702         protected Object invoke_Y0(Object a0, Object a1, Object a2, Object a3,
       
   703                                    Object a4) throws Throwable {
       
   704             Object[] av = { a0, a1, a2, a3, a4 };
       
   705             filter.invokeExact(av); // make the flyby
       
   706             return target.invokeExact(av[0], av[1], av[2], av[3], av[4]); }
       
   707     }
       
   708     static class F6 extends Adapter {
       
   709         protected F6(MethodHandle entryPoint) { super(entryPoint); }  // to build prototype
       
   710         protected F6(MethodHandle e, MethodHandle f, MethodHandle t) {
       
   711             super(e, f, t); }
       
   712         protected F6 makeInstance(MethodHandle e, MethodHandle f, MethodHandle t) {
       
   713             return new F6(e, f, t); }
       
   714         protected Object invoke_V0(Object a0, Object a1, Object a2, Object a3,
       
   715                                    Object a4, Object a5) throws Throwable {
       
   716             return target.invokeExact(filter.invokeExact(a0), a1, a2, a3, a4, a5); }
       
   717         protected Object invoke_V1(Object a0, Object a1, Object a2, Object a3,
       
   718                                    Object a4, Object a5) throws Throwable {
       
   719             return target.invokeExact(a0, filter.invokeExact(a1), a2, a3, a4, a5); }
       
   720         protected Object invoke_V2(Object a0, Object a1, Object a2, Object a3,
       
   721                                    Object a4, Object a5) throws Throwable {
       
   722             return target.invokeExact(a0, a1, filter.invokeExact(a2), a3, a4, a5); }
       
   723         protected Object invoke_V3(Object a0, Object a1, Object a2, Object a3,
       
   724                                    Object a4, Object a5) throws Throwable {
       
   725             return target.invokeExact(a0, a1, a2, filter.invokeExact(a3), a4, a5); }
       
   726         protected Object invoke_V4(Object a0, Object a1, Object a2, Object a3,
       
   727                                    Object a4, Object a5) throws Throwable {
       
   728             return target.invokeExact(a0, a1, a2, a3, filter.invokeExact(a4), a5); }
       
   729         protected Object invoke_V5(Object a0, Object a1, Object a2, Object a3,
       
   730                                    Object a4, Object a5) throws Throwable {
       
   731             return target.invokeExact(a0, a1, a2, a3, a4, filter.invokeExact(a5)); }
       
   732         protected Object invoke_F0(Object a0, Object a1, Object a2, Object a3,
       
   733                                    Object a4, Object a5) throws Throwable {
       
   734             return target.invokeExact(filter.invokeExact(),
       
   735                                  a0, a1, a2, a3, a4, a5); }
       
   736         protected Object invoke_F1(Object a0, Object a1, Object a2, Object a3,
       
   737                                    Object a4, Object a5) throws Throwable {
       
   738             return target.invokeExact(filter.invokeExact(a0),
       
   739                                  a0, a1, a2, a3, a4, a5); }
       
   740         protected Object invoke_F2(Object a0, Object a1, Object a2, Object a3,
       
   741                                    Object a4, Object a5) throws Throwable {
       
   742             return target.invokeExact(filter.invokeExact(a0, a1),
       
   743                                  a0, a1, a2, a3, a4, a5); }
       
   744         protected Object invoke_F3(Object a0, Object a1, Object a2, Object a3,
       
   745                                    Object a4, Object a5) throws Throwable {
       
   746             return target.invokeExact(filter.invokeExact(a0, a1, a2),
       
   747                                  a0, a1, a2, a3, a4, a5); }
       
   748         protected Object invoke_F4(Object a0, Object a1, Object a2, Object a3,
       
   749                                    Object a4, Object a5) throws Throwable {
       
   750             return target.invokeExact(filter.invokeExact(a0, a1, a2, a3),
       
   751                                  a0, a1, a2, a3, a4, a5); }
       
   752         protected Object invoke_F5(Object a0, Object a1, Object a2, Object a3,
       
   753                                    Object a4, Object a5) throws Throwable {
       
   754             return target.invokeExact(filter.invokeExact(a0, a1, a2, a3, a4),
       
   755                                  a0, a1, a2, a3, a4, a5); }
       
   756         protected Object invoke_F6(Object a0, Object a1, Object a2, Object a3,
       
   757                                    Object a4, Object a5) throws Throwable {
       
   758             return target.invokeExact(filter.invokeExact(a0, a1, a2, a3, a4, a5),
       
   759                                  a0, a1, a2, a3, a4, a5); }
       
   760         protected Object invoke_C0(Object a0, Object a1, Object a2, Object a3,
       
   761                                    Object a4, Object a5) throws Throwable {
       
   762             return target.invokeExact(filter.invokeExact(a0, a1, a2, a3, a4, a5)); }
       
   763         protected Object invoke_C1(Object a0, Object a1, Object a2, Object a3,
       
   764                                    Object a4, Object a5) throws Throwable {
       
   765             return target.invokeExact(a0, filter.invokeExact(a1, a2, a3, a4, a5)); }
       
   766         protected Object invoke_C2(Object a0, Object a1, Object a2, Object a3,
       
   767                                    Object a4, Object a5) throws Throwable {
       
   768             return target.invokeExact(a0, a1, filter.invokeExact(a2, a3, a4, a5)); }
       
   769         protected Object invoke_C3(Object a0, Object a1, Object a2, Object a3,
       
   770                                    Object a4, Object a5) throws Throwable {
       
   771             return target.invokeExact(a0, a1, a2, filter.invokeExact(a3, a4, a5)); }
       
   772         protected Object invoke_C4(Object a0, Object a1, Object a2, Object a3,
       
   773                                    Object a4, Object a5) throws Throwable {
       
   774             return target.invokeExact(a0, a1, a2, a3, filter.invokeExact(a4, a5)); }
       
   775         protected Object invoke_C5(Object a0, Object a1, Object a2, Object a3,
       
   776                                    Object a4, Object a5) throws Throwable {
       
   777             return target.invokeExact(a0, a1, a2, a3, a4, filter.invokeExact(a5)); }
       
   778         protected Object invoke_C6(Object a0, Object a1, Object a2, Object a3,
       
   779                                    Object a4, Object a5) throws Throwable {
       
   780             return target.invokeExact(a0, a1, a2, a3, a4, a5, filter.invokeExact()); }
       
   781         protected Object invoke_Y0(Object a0, Object a1, Object a2, Object a3,
       
   782                                    Object a4, Object a5) throws Throwable {
       
   783             Object[] av = { a0, a1, a2, a3, a4, a5 };
       
   784             filter.invokeExact(av); // make the flyby
       
   785             return target.invokeExact(av[0], av[1], av[2], av[3], av[4], av[5]); }
       
   786     }
       
   787     static class F7 extends Adapter {
       
   788         protected F7(MethodHandle entryPoint) { super(entryPoint); }  // to build prototype
       
   789         protected F7(MethodHandle e, MethodHandle f, MethodHandle t) {
       
   790             super(e, f, t); }
       
   791         protected F7 makeInstance(MethodHandle e, MethodHandle f, MethodHandle t) {
       
   792             return new F7(e, f, t); }
       
   793         protected Object invoke_V0(Object a0, Object a1, Object a2, Object a3,
       
   794                                    Object a4, Object a5, Object a6) throws Throwable {
       
   795             return target.invokeExact(filter.invokeExact(a0), a1, a2, a3, a4, a5, a6); }
       
   796         protected Object invoke_V1(Object a0, Object a1, Object a2, Object a3,
       
   797                                    Object a4, Object a5, Object a6) throws Throwable {
       
   798             return target.invokeExact(a0, filter.invokeExact(a1), a2, a3, a4, a5, a6); }
       
   799         protected Object invoke_V2(Object a0, Object a1, Object a2, Object a3,
       
   800                                    Object a4, Object a5, Object a6) throws Throwable {
       
   801             return target.invokeExact(a0, a1, filter.invokeExact(a2), a3, a4, a5, a6); }
       
   802         protected Object invoke_V3(Object a0, Object a1, Object a2, Object a3,
       
   803                                    Object a4, Object a5, Object a6) throws Throwable {
       
   804             return target.invokeExact(a0, a1, a2, filter.invokeExact(a3), a4, a5, a6); }
       
   805         protected Object invoke_V4(Object a0, Object a1, Object a2, Object a3,
       
   806                                    Object a4, Object a5, Object a6) throws Throwable {
       
   807             return target.invokeExact(a0, a1, a2, a3, filter.invokeExact(a4), a5, a6); }
       
   808         protected Object invoke_V5(Object a0, Object a1, Object a2, Object a3,
       
   809                                    Object a4, Object a5, Object a6) throws Throwable {
       
   810             return target.invokeExact(a0, a1, a2, a3, a4, filter.invokeExact(a5), a6); }
       
   811         protected Object invoke_V6(Object a0, Object a1, Object a2, Object a3,
       
   812                                    Object a4, Object a5, Object a6) throws Throwable {
       
   813             return target.invokeExact(a0, a1, a2, a3, a4, a5, filter.invokeExact(a6)); }
       
   814         protected Object invoke_F0(Object a0, Object a1, Object a2, Object a3,
       
   815                                    Object a4, Object a5, Object a6) throws Throwable {
       
   816             return target.invokeExact(filter.invokeExact(),
       
   817                                  a0, a1, a2, a3, a4, a5, a6); }
       
   818         protected Object invoke_F1(Object a0, Object a1, Object a2, Object a3,
       
   819                                    Object a4, Object a5, Object a6) throws Throwable {
       
   820             return target.invokeExact(filter.invokeExact(a0),
       
   821                                  a0, a1, a2, a3, a4, a5, a6); }
       
   822         protected Object invoke_F2(Object a0, Object a1, Object a2, Object a3,
       
   823                                    Object a4, Object a5, Object a6) throws Throwable {
       
   824             return target.invokeExact(filter.invokeExact(a0, a1),
       
   825                                  a0, a1, a2, a3, a4, a5, a6); }
       
   826         protected Object invoke_F3(Object a0, Object a1, Object a2, Object a3,
       
   827                                    Object a4, Object a5, Object a6) throws Throwable {
       
   828             return target.invokeExact(filter.invokeExact(a0, a1, a2),
       
   829                                  a0, a1, a2, a3, a4, a5, a6); }
       
   830         protected Object invoke_F4(Object a0, Object a1, Object a2, Object a3,
       
   831                                    Object a4, Object a5, Object a6) throws Throwable {
       
   832             return target.invokeExact(filter.invokeExact(a0, a1, a2, a3),
       
   833                                  a0, a1, a2, a3, a4, a5, a6); }
       
   834         protected Object invoke_F5(Object a0, Object a1, Object a2, Object a3,
       
   835                                    Object a4, Object a5, Object a6) throws Throwable {
       
   836             return target.invokeExact(filter.invokeExact(a0, a1, a2, a3, a4),
       
   837                                  a0, a1, a2, a3, a4, a5, a6); }
       
   838         protected Object invoke_F6(Object a0, Object a1, Object a2, Object a3,
       
   839                                    Object a4, Object a5, Object a6) throws Throwable {
       
   840             return target.invokeExact(filter.invokeExact(a0, a1, a2, a3, a4, a5),
       
   841                                  a0, a1, a2, a3, a4, a5, a6); }
       
   842         protected Object invoke_F7(Object a0, Object a1, Object a2, Object a3,
       
   843                                    Object a4, Object a5, Object a6) throws Throwable {
       
   844             return target.invokeExact(filter.invokeExact(a0, a1, a2, a3, a4, a5, a6),
       
   845                                  a0, a1, a2, a3, a4, a5, a6); }
       
   846         protected Object invoke_C0(Object a0, Object a1, Object a2, Object a3,
       
   847                                    Object a4, Object a5, Object a6) throws Throwable {
       
   848             return target.invokeExact(filter.invokeExact(a0, a1, a2, a3, a4, a5, a6)); }
       
   849         protected Object invoke_C1(Object a0, Object a1, Object a2, Object a3,
       
   850                                    Object a4, Object a5, Object a6) throws Throwable {
       
   851             return target.invokeExact(a0, filter.invokeExact(a1, a2, a3, a4, a5, a6)); }
       
   852         protected Object invoke_C2(Object a0, Object a1, Object a2, Object a3,
       
   853                                    Object a4, Object a5, Object a6) throws Throwable {
       
   854             return target.invokeExact(a0, a1, filter.invokeExact(a2, a3, a4, a5, a6)); }
       
   855         protected Object invoke_C3(Object a0, Object a1, Object a2, Object a3,
       
   856                                    Object a4, Object a5, Object a6) throws Throwable {
       
   857             return target.invokeExact(a0, a1, a2, filter.invokeExact(a3, a4, a5, a6)); }
       
   858         protected Object invoke_C4(Object a0, Object a1, Object a2, Object a3,
       
   859                                    Object a4, Object a5, Object a6) throws Throwable {
       
   860             return target.invokeExact(a0, a1, a2, a3, filter.invokeExact(a4, a5, a6)); }
       
   861         protected Object invoke_C5(Object a0, Object a1, Object a2, Object a3,
       
   862                                    Object a4, Object a5, Object a6) throws Throwable {
       
   863             return target.invokeExact(a0, a1, a2, a3, a4, filter.invokeExact(a5, a6)); }
       
   864         protected Object invoke_C6(Object a0, Object a1, Object a2, Object a3,
       
   865                                    Object a4, Object a5, Object a6) throws Throwable {
       
   866             return target.invokeExact(a0, a1, a2, a3, a4, a5, filter.invokeExact(a6)); }
       
   867         protected Object invoke_C7(Object a0, Object a1, Object a2, Object a3,
       
   868                                    Object a4, Object a5, Object a6) throws Throwable {
       
   869             return target.invokeExact(a0, a1, a2, a3, a4, a5, a6, filter.invokeExact()); }
       
   870         protected Object invoke_Y0(Object a0, Object a1, Object a2, Object a3,
       
   871                                    Object a4, Object a5, Object a6) throws Throwable {
       
   872             Object[] av = { a0, a1, a2, a3, a4, a5, a6 };
       
   873             filter.invokeExact(av); // make the flyby
       
   874             return target.invokeExact(av[0], av[1], av[2], av[3], av[4], av[5], av[6]); }
       
   875     }
       
   876     static class F8 extends Adapter {
       
   877         protected F8(MethodHandle entryPoint) { super(entryPoint); }  // to build prototype
       
   878         protected F8(MethodHandle e, MethodHandle f, MethodHandle t) {
       
   879             super(e, f, t); }
       
   880         protected F8 makeInstance(MethodHandle e, MethodHandle f, MethodHandle t) {
       
   881             return new F8(e, f, t); }
       
   882         protected Object invoke_V0(Object a0, Object a1, Object a2, Object a3,
       
   883                                    Object a4, Object a5, Object a6, Object a7) throws Throwable {
       
   884             return target.invokeExact(filter.invokeExact(a0), a1, a2, a3, a4, a5, a6, a7); }
       
   885         protected Object invoke_V1(Object a0, Object a1, Object a2, Object a3,
       
   886                                    Object a4, Object a5, Object a6, Object a7) throws Throwable {
       
   887             return target.invokeExact(a0, filter.invokeExact(a1), a2, a3, a4, a5, a6, a7); }
       
   888         protected Object invoke_V2(Object a0, Object a1, Object a2, Object a3,
       
   889                                    Object a4, Object a5, Object a6, Object a7) throws Throwable {
       
   890             return target.invokeExact(a0, a1, filter.invokeExact(a2), a3, a4, a5, a6, a7); }
       
   891         protected Object invoke_V3(Object a0, Object a1, Object a2, Object a3,
       
   892                                    Object a4, Object a5, Object a6, Object a7) throws Throwable {
       
   893             return target.invokeExact(a0, a1, a2, filter.invokeExact(a3), a4, a5, a6, a7); }
       
   894         protected Object invoke_V4(Object a0, Object a1, Object a2, Object a3,
       
   895                                    Object a4, Object a5, Object a6, Object a7) throws Throwable {
       
   896             return target.invokeExact(a0, a1, a2, a3, filter.invokeExact(a4), a5, a6, a7); }
       
   897         protected Object invoke_V5(Object a0, Object a1, Object a2, Object a3,
       
   898                                    Object a4, Object a5, Object a6, Object a7) throws Throwable {
       
   899             return target.invokeExact(a0, a1, a2, a3, a4, filter.invokeExact(a5), a6, a7); }
       
   900         protected Object invoke_V6(Object a0, Object a1, Object a2, Object a3,
       
   901                                    Object a4, Object a5, Object a6, Object a7) throws Throwable {
       
   902             return target.invokeExact(a0, a1, a2, a3, a4, a5, filter.invokeExact(a6), a7); }
       
   903         protected Object invoke_V7(Object a0, Object a1, Object a2, Object a3,
       
   904                                    Object a4, Object a5, Object a6, Object a7) throws Throwable {
       
   905             return target.invokeExact(a0, a1, a2, a3, a4, a5, a6, filter.invokeExact(a7)); }
       
   906         protected Object invoke_F0(Object a0, Object a1, Object a2, Object a3,
       
   907                                    Object a4, Object a5, Object a6, Object a7) throws Throwable {
       
   908             return target.invokeExact(filter.invokeExact(),
       
   909                                  a0, a1, a2, a3, a4, a5, a6, a7); }
       
   910         protected Object invoke_F1(Object a0, Object a1, Object a2, Object a3,
       
   911                                    Object a4, Object a5, Object a6, Object a7) throws Throwable {
       
   912             return target.invokeExact(filter.invokeExact(a0),
       
   913                                  a0, a1, a2, a3, a4, a5, a6, a7); }
       
   914         protected Object invoke_F2(Object a0, Object a1, Object a2, Object a3,
       
   915                                    Object a4, Object a5, Object a6, Object a7) throws Throwable {
       
   916             return target.invokeExact(filter.invokeExact(a0, a1),
       
   917                                  a0, a1, a2, a3, a4, a5, a6, a7); }
       
   918         protected Object invoke_F3(Object a0, Object a1, Object a2, Object a3,
       
   919                                    Object a4, Object a5, Object a6, Object a7) throws Throwable {
       
   920             return target.invokeExact(filter.invokeExact(a0, a1, a2),
       
   921                                  a0, a1, a2, a3, a4, a5, a6, a7); }
       
   922         protected Object invoke_F4(Object a0, Object a1, Object a2, Object a3,
       
   923                                    Object a4, Object a5, Object a6, Object a7) throws Throwable {
       
   924             return target.invokeExact(filter.invokeExact(a0, a1, a2, a3),
       
   925                                  a0, a1, a2, a3, a4, a5, a6, a7); }
       
   926         protected Object invoke_F5(Object a0, Object a1, Object a2, Object a3,
       
   927                                    Object a4, Object a5, Object a6, Object a7) throws Throwable {
       
   928             return target.invokeExact(filter.invokeExact(a0, a1, a2, a3, a4),
       
   929                                  a0, a1, a2, a3, a4, a5, a6, a7); }
       
   930         protected Object invoke_F6(Object a0, Object a1, Object a2, Object a3,
       
   931                                    Object a4, Object a5, Object a6, Object a7) throws Throwable {
       
   932             return target.invokeExact(filter.invokeExact(a0, a1, a2, a3, a4, a5),
       
   933                                  a0, a1, a2, a3, a4, a5, a6, a7); }
       
   934         protected Object invoke_F7(Object a0, Object a1, Object a2, Object a3,
       
   935                                    Object a4, Object a5, Object a6, Object a7) throws Throwable {
       
   936             return target.invokeExact(filter.invokeExact(a0, a1, a2, a3, a4, a5, a6),
       
   937                                  a0, a1, a2, a3, a4, a5, a6, a7); }
       
   938         protected Object invoke_F8(Object a0, Object a1, Object a2, Object a3,
       
   939                                    Object a4, Object a5, Object a6, Object a7) throws Throwable {
       
   940             return target.invokeExact(filter.invokeExact(a0, a1, a2, a3, a4, a5, a6, a7),
       
   941                                  a0, a1, a2, a3, a4, a5, a6, a7); }
       
   942         protected Object invoke_C0(Object a0, Object a1, Object a2, Object a3,
       
   943                                    Object a4, Object a5, Object a6, Object a7) throws Throwable {
       
   944             return target.invokeExact(filter.invokeExact(a0, a1, a2, a3, a4, a5, a6, a7)); }
       
   945         protected Object invoke_C1(Object a0, Object a1, Object a2, Object a3,
       
   946                                    Object a4, Object a5, Object a6, Object a7) throws Throwable {
       
   947             return target.invokeExact(a0, filter.invokeExact(a1, a2, a3, a4, a5, a6, a7)); }
       
   948         protected Object invoke_C2(Object a0, Object a1, Object a2, Object a3,
       
   949                                    Object a4, Object a5, Object a6, Object a7) throws Throwable {
       
   950             return target.invokeExact(a0, a1, filter.invokeExact(a2, a3, a4, a5, a6, a7)); }
       
   951         protected Object invoke_C3(Object a0, Object a1, Object a2, Object a3,
       
   952                                    Object a4, Object a5, Object a6, Object a7) throws Throwable {
       
   953             return target.invokeExact(a0, a1, a2, filter.invokeExact(a3, a4, a5, a6, a7)); }
       
   954         protected Object invoke_C4(Object a0, Object a1, Object a2, Object a3,
       
   955                                    Object a4, Object a5, Object a6, Object a7) throws Throwable {
       
   956             return target.invokeExact(a0, a1, a2, a3, filter.invokeExact(a4, a5, a6, a7)); }
       
   957         protected Object invoke_C5(Object a0, Object a1, Object a2, Object a3,
       
   958                                    Object a4, Object a5, Object a6, Object a7) throws Throwable {
       
   959             return target.invokeExact(a0, a1, a2, a3, a4, filter.invokeExact(a5, a6, a7)); }
       
   960         protected Object invoke_C6(Object a0, Object a1, Object a2, Object a3,
       
   961                                    Object a4, Object a5, Object a6, Object a7) throws Throwable {
       
   962             return target.invokeExact(a0, a1, a2, a3, a4, a5, filter.invokeExact(a6, a7)); }
       
   963         protected Object invoke_C7(Object a0, Object a1, Object a2, Object a3,
       
   964                                    Object a4, Object a5, Object a6, Object a7) throws Throwable {
       
   965             return target.invokeExact(a0, a1, a2, a3, a4, a5, a6, filter.invokeExact(a7)); }
       
   966         protected Object invoke_C8(Object a0, Object a1, Object a2, Object a3,
       
   967                                    Object a4, Object a5, Object a6, Object a7) throws Throwable {
       
   968             return target.invokeExact(a0, a1, a2, a3, a4, a5, a6, a7, filter.invokeExact()); }
       
   969         protected Object invoke_Y0(Object a0, Object a1, Object a2, Object a3,
       
   970                                    Object a4, Object a5, Object a6, Object a7) throws Throwable {
       
   971             Object[] av = { a0, a1, a2, a3, a4, a5, a6, a7 };
       
   972             filter.invokeExact(av); // make the flyby
       
   973             return target.invokeExact(av[0], av[1], av[2], av[3], av[4], av[5], av[6], av[7]); }
       
   974     }
       
   975     static class F9 extends Adapter {
       
   976         protected F9(MethodHandle entryPoint) { super(entryPoint); }  // to build prototype
       
   977         protected F9(MethodHandle e, MethodHandle f, MethodHandle t) {
       
   978             super(e, f, t); }
       
   979         protected F9 makeInstance(MethodHandle e, MethodHandle f, MethodHandle t) {
       
   980             return new F9(e, f, t); }
       
   981         protected Object invoke_V0(Object a0, Object a1, Object a2, Object a3,
       
   982                                    Object a4, Object a5, Object a6, Object a7,
       
   983                                    Object a8) throws Throwable {
       
   984             return target.invokeExact(filter.invokeExact(a0), a1, a2, a3, a4, a5, a6, a7, a8); }
       
   985         protected Object invoke_V1(Object a0, Object a1, Object a2, Object a3,
       
   986                                    Object a4, Object a5, Object a6, Object a7,
       
   987                                    Object a8) throws Throwable {
       
   988             return target.invokeExact(a0, filter.invokeExact(a1), a2, a3, a4, a5, a6, a7, a8); }
       
   989         protected Object invoke_V2(Object a0, Object a1, Object a2, Object a3,
       
   990                                    Object a4, Object a5, Object a6, Object a7,
       
   991                                    Object a8) throws Throwable {
       
   992             return target.invokeExact(a0, a1, filter.invokeExact(a2), a3, a4, a5, a6, a7, a8); }
       
   993         protected Object invoke_V3(Object a0, Object a1, Object a2, Object a3,
       
   994                                    Object a4, Object a5, Object a6, Object a7,
       
   995                                    Object a8) throws Throwable {
       
   996             return target.invokeExact(a0, a1, a2, filter.invokeExact(a3), a4, a5, a6, a7, a8); }
       
   997         protected Object invoke_V4(Object a0, Object a1, Object a2, Object a3,
       
   998                                    Object a4, Object a5, Object a6, Object a7,
       
   999                                    Object a8) throws Throwable {
       
  1000             return target.invokeExact(a0, a1, a2, a3, filter.invokeExact(a4), a5, a6, a7, a8); }
       
  1001         protected Object invoke_V5(Object a0, Object a1, Object a2, Object a3,
       
  1002                                    Object a4, Object a5, Object a6, Object a7,
       
  1003                                    Object a8) throws Throwable {
       
  1004             return target.invokeExact(a0, a1, a2, a3, a4, filter.invokeExact(a5), a6, a7, a8); }
       
  1005         protected Object invoke_V6(Object a0, Object a1, Object a2, Object a3,
       
  1006                                    Object a4, Object a5, Object a6, Object a7,
       
  1007                                    Object a8) throws Throwable {
       
  1008             return target.invokeExact(a0, a1, a2, a3, a4, a5, filter.invokeExact(a6), a7, a8); }
       
  1009         protected Object invoke_V7(Object a0, Object a1, Object a2, Object a3,
       
  1010                                    Object a4, Object a5, Object a6, Object a7,
       
  1011                                    Object a8) throws Throwable {
       
  1012             return target.invokeExact(a0, a1, a2, a3, a4, a5, a6, filter.invokeExact(a7), a8); }
       
  1013         protected Object invoke_V8(Object a0, Object a1, Object a2, Object a3,
       
  1014                                    Object a4, Object a5, Object a6, Object a7,
       
  1015                                    Object a8) throws Throwable {
       
  1016             return target.invokeExact(a0, a1, a2, a3, a4, a5, a6, a7, filter.invokeExact(a8)); }
       
  1017         protected Object invoke_F0(Object a0, Object a1, Object a2, Object a3,
       
  1018                                    Object a4, Object a5, Object a6, Object a7,
       
  1019                                    Object a8) throws Throwable {
       
  1020             return target.invokeExact(filter.invokeExact(),
       
  1021                                  a0, a1, a2, a3, a4, a5, a6, a7, a8); }
       
  1022         protected Object invoke_F1(Object a0, Object a1, Object a2, Object a3,
       
  1023                                    Object a4, Object a5, Object a6, Object a7,
       
  1024                                    Object a8) throws Throwable {
       
  1025             return target.invokeExact(filter.invokeExact(a0),
       
  1026                                  a0, a1, a2, a3, a4, a5, a6, a7, a8); }
       
  1027         protected Object invoke_F2(Object a0, Object a1, Object a2, Object a3,
       
  1028                                    Object a4, Object a5, Object a6, Object a7,
       
  1029                                    Object a8) throws Throwable {
       
  1030             return target.invokeExact(filter.invokeExact(a0, a1),
       
  1031                                  a0, a1, a2, a3, a4, a5, a6, a7, a8); }
       
  1032         protected Object invoke_F3(Object a0, Object a1, Object a2, Object a3,
       
  1033                                    Object a4, Object a5, Object a6, Object a7,
       
  1034                                    Object a8) throws Throwable {
       
  1035             return target.invokeExact(filter.invokeExact(a0, a1, a2),
       
  1036                                  a0, a1, a2, a3, a4, a5, a6, a7, a8); }
       
  1037         protected Object invoke_F4(Object a0, Object a1, Object a2, Object a3,
       
  1038                                    Object a4, Object a5, Object a6, Object a7,
       
  1039                                    Object a8) throws Throwable {
       
  1040             return target.invokeExact(filter.invokeExact(a0, a1, a2, a3),
       
  1041                                  a0, a1, a2, a3, a4, a5, a6, a7, a8); }
       
  1042         protected Object invoke_F5(Object a0, Object a1, Object a2, Object a3,
       
  1043                                    Object a4, Object a5, Object a6, Object a7,
       
  1044                                    Object a8) throws Throwable {
       
  1045             return target.invokeExact(filter.invokeExact(a0, a1, a2, a3, a4),
       
  1046                                  a0, a1, a2, a3, a4, a5, a6, a7, a8); }
       
  1047         protected Object invoke_F6(Object a0, Object a1, Object a2, Object a3,
       
  1048                                    Object a4, Object a5, Object a6, Object a7,
       
  1049                                    Object a8) throws Throwable {
       
  1050             return target.invokeExact(filter.invokeExact(a0, a1, a2, a3, a4, a5),
       
  1051                                  a0, a1, a2, a3, a4, a5, a6, a7, a8); }
       
  1052         protected Object invoke_F7(Object a0, Object a1, Object a2, Object a3,
       
  1053                                    Object a4, Object a5, Object a6, Object a7,
       
  1054                                    Object a8) throws Throwable {
       
  1055             return target.invokeExact(filter.invokeExact(a0, a1, a2, a3, a4, a5, a6),
       
  1056                                  a0, a1, a2, a3, a4, a5, a6, a7, a8); }
       
  1057         protected Object invoke_F8(Object a0, Object a1, Object a2, Object a3,
       
  1058                                    Object a4, Object a5, Object a6, Object a7,
       
  1059                                    Object a8) throws Throwable {
       
  1060             return target.invokeExact(filter.invokeExact(a0, a1, a2, a3, a4, a5, a6, a7),
       
  1061                                  a0, a1, a2, a3, a4, a5, a6, a7, a8); }
       
  1062         protected Object invoke_F9(Object a0, Object a1, Object a2, Object a3,
       
  1063                                    Object a4, Object a5, Object a6, Object a7,
       
  1064                                    Object a8) throws Throwable {
       
  1065             return target.invokeExact(filter.invokeExact(a0, a1, a2, a3, a4, a5, a6, a7, a8),
       
  1066                                  a0, a1, a2, a3, a4, a5, a6, a7, a8); }
       
  1067         protected Object invoke_C0(Object a0, Object a1, Object a2, Object a3,
       
  1068                                    Object a4, Object a5, Object a6, Object a7,
       
  1069                                    Object a8) throws Throwable {
       
  1070             return target.invokeExact(filter.invokeExact(a0, a1, a2, a3, a4, a5, a6, a7, a8)); }
       
  1071         protected Object invoke_C1(Object a0, Object a1, Object a2, Object a3,
       
  1072                                    Object a4, Object a5, Object a6, Object a7,
       
  1073                                    Object a8) throws Throwable {
       
  1074             return target.invokeExact(a0, filter.invokeExact(a1, a2, a3, a4, a5, a6, a7, a8)); }
       
  1075         protected Object invoke_C2(Object a0, Object a1, Object a2, Object a3,
       
  1076                                    Object a4, Object a5, Object a6, Object a7,
       
  1077                                    Object a8) throws Throwable {
       
  1078             return target.invokeExact(a0, a1, filter.invokeExact(a2, a3, a4, a5, a6, a7, a8)); }
       
  1079         protected Object invoke_C3(Object a0, Object a1, Object a2, Object a3,
       
  1080                                    Object a4, Object a5, Object a6, Object a7,
       
  1081                                    Object a8) throws Throwable {
       
  1082             return target.invokeExact(a0, a1, a2, filter.invokeExact(a3, a4, a5, a6, a7, a8)); }
       
  1083         protected Object invoke_C4(Object a0, Object a1, Object a2, Object a3,
       
  1084                                    Object a4, Object a5, Object a6, Object a7,
       
  1085                                    Object a8) throws Throwable {
       
  1086             return target.invokeExact(a0, a1, a2, a3, filter.invokeExact(a4, a5, a6, a7, a8)); }
       
  1087         protected Object invoke_C5(Object a0, Object a1, Object a2, Object a3,
       
  1088                                    Object a4, Object a5, Object a6, Object a7,
       
  1089                                    Object a8) throws Throwable {
       
  1090             return target.invokeExact(a0, a1, a2, a3, a4, filter.invokeExact(a5, a6, a7, a8)); }
       
  1091         protected Object invoke_C6(Object a0, Object a1, Object a2, Object a3,
       
  1092                                    Object a4, Object a5, Object a6, Object a7,
       
  1093                                    Object a8) throws Throwable {
       
  1094             return target.invokeExact(a0, a1, a2, a3, a4, a5, filter.invokeExact(a6, a7, a8)); }
       
  1095         protected Object invoke_C7(Object a0, Object a1, Object a2, Object a3,
       
  1096                                    Object a4, Object a5, Object a6, Object a7,
       
  1097                                    Object a8) throws Throwable {
       
  1098             return target.invokeExact(a0, a1, a2, a3, a4, a5, a6, filter.invokeExact(a7, a8)); }
       
  1099         protected Object invoke_C8(Object a0, Object a1, Object a2, Object a3,
       
  1100                                    Object a4, Object a5, Object a6, Object a7,
       
  1101                                    Object a8) throws Throwable {
       
  1102             return target.invokeExact(a0, a1, a2, a3, a4, a5, a6, a7, filter.invokeExact(a8)); }
       
  1103         protected Object invoke_C9(Object a0, Object a1, Object a2, Object a3,
       
  1104                                    Object a4, Object a5, Object a6, Object a7,
       
  1105                                    Object a8) throws Throwable {
       
  1106             return target.invokeExact(a0, a1, a2, a3, a4, a5, a6, a7, a8, filter.invokeExact()); }
       
  1107         protected Object invoke_Y0(Object a0, Object a1, Object a2, Object a3,
       
  1108                                    Object a4, Object a5, Object a6, Object a7,
       
  1109                                    Object a8) throws Throwable {
       
  1110             Object[] av = { a0, a1, a2, a3, a4, a5, a6, a7, a8 };
       
  1111             filter.invokeExact(av); // make the flyby
       
  1112             return target.invokeExact(av[0], av[1], av[2], av[3], av[4], av[5], av[6], av[7], av[8]); }
       
  1113     }
       
  1114     static class F10 extends Adapter {
       
  1115         protected F10(MethodHandle entryPoint) { super(entryPoint); }  // to build prototype
       
  1116         protected F10(MethodHandle e, MethodHandle f, MethodHandle t) {
       
  1117             super(e, f, t); }
       
  1118         protected F10 makeInstance(MethodHandle e, MethodHandle f, MethodHandle t) {
       
  1119             return new F10(e, f, t); }
       
  1120         protected Object invoke_V0(Object a0, Object a1, Object a2, Object a3,
       
  1121                                    Object a4, Object a5, Object a6, Object a7,
       
  1122                                    Object a8, Object a9) throws Throwable {
       
  1123             return target.invokeExact(filter.invokeExact(a0), a1, a2, a3, a4, a5, a6, a7, a8, a9); }
       
  1124         protected Object invoke_V1(Object a0, Object a1, Object a2, Object a3,
       
  1125                                    Object a4, Object a5, Object a6, Object a7,
       
  1126                                    Object a8, Object a9) throws Throwable {
       
  1127             return target.invokeExact(a0, filter.invokeExact(a1), a2, a3, a4, a5, a6, a7, a8, a9); }
       
  1128         protected Object invoke_V2(Object a0, Object a1, Object a2, Object a3,
       
  1129                                    Object a4, Object a5, Object a6, Object a7,
       
  1130                                    Object a8, Object a9) throws Throwable {
       
  1131             return target.invokeExact(a0, a1, filter.invokeExact(a2), a3, a4, a5, a6, a7, a8, a9); }
       
  1132         protected Object invoke_V3(Object a0, Object a1, Object a2, Object a3,
       
  1133                                    Object a4, Object a5, Object a6, Object a7,
       
  1134                                    Object a8, Object a9) throws Throwable {
       
  1135             return target.invokeExact(a0, a1, a2, filter.invokeExact(a3), a4, a5, a6, a7, a8, a9); }
       
  1136         protected Object invoke_V4(Object a0, Object a1, Object a2, Object a3,
       
  1137                                    Object a4, Object a5, Object a6, Object a7,
       
  1138                                    Object a8, Object a9) throws Throwable {
       
  1139             return target.invokeExact(a0, a1, a2, a3, filter.invokeExact(a4), a5, a6, a7, a8, a9); }
       
  1140         protected Object invoke_V5(Object a0, Object a1, Object a2, Object a3,
       
  1141                                    Object a4, Object a5, Object a6, Object a7,
       
  1142                                    Object a8, Object a9) throws Throwable {
       
  1143             return target.invokeExact(a0, a1, a2, a3, a4, filter.invokeExact(a5), a6, a7, a8, a9); }
       
  1144         protected Object invoke_V6(Object a0, Object a1, Object a2, Object a3,
       
  1145                                    Object a4, Object a5, Object a6, Object a7,
       
  1146                                    Object a8, Object a9) throws Throwable {
       
  1147             return target.invokeExact(a0, a1, a2, a3, a4, a5, filter.invokeExact(a6), a7, a8, a9); }
       
  1148         protected Object invoke_V7(Object a0, Object a1, Object a2, Object a3,
       
  1149                                    Object a4, Object a5, Object a6, Object a7,
       
  1150                                    Object a8, Object a9) throws Throwable {
       
  1151             return target.invokeExact(a0, a1, a2, a3, a4, a5, a6, filter.invokeExact(a7), a8, a9); }
       
  1152         protected Object invoke_V8(Object a0, Object a1, Object a2, Object a3,
       
  1153                                    Object a4, Object a5, Object a6, Object a7,
       
  1154                                    Object a8, Object a9) throws Throwable {
       
  1155             return target.invokeExact(a0, a1, a2, a3, a4, a5, a6, a7, filter.invokeExact(a8), a9); }
       
  1156         protected Object invoke_V9(Object a0, Object a1, Object a2, Object a3,
       
  1157                                    Object a4, Object a5, Object a6, Object a7,
       
  1158                                    Object a8, Object a9) throws Throwable {
       
  1159             return target.invokeExact(a0, a1, a2, a3, a4, a5, a6, a7, a8, filter.invokeExact(a9)); }
       
  1160         protected Object invoke_F0(Object a0, Object a1, Object a2, Object a3,
       
  1161                                    Object a4, Object a5, Object a6, Object a7,
       
  1162                                    Object a8, Object a9) throws Throwable {
       
  1163             return target.invokeExact(filter.invokeExact(),
       
  1164                                  a0, a1, a2, a3, a4, a5, a6, a7, a8, a9); }
       
  1165         protected Object invoke_F1(Object a0, Object a1, Object a2, Object a3,
       
  1166                                    Object a4, Object a5, Object a6, Object a7,
       
  1167                                    Object a8, Object a9) throws Throwable {
       
  1168             return target.invokeExact(filter.invokeExact(a0),
       
  1169                                  a0, a1, a2, a3, a4, a5, a6, a7, a8, a9); }
       
  1170         protected Object invoke_F2(Object a0, Object a1, Object a2, Object a3,
       
  1171                                    Object a4, Object a5, Object a6, Object a7,
       
  1172                                    Object a8, Object a9) throws Throwable {
       
  1173             return target.invokeExact(filter.invokeExact(a0, a1),
       
  1174                                  a0, a1, a2, a3, a4, a5, a6, a7, a8, a9); }
       
  1175         protected Object invoke_F3(Object a0, Object a1, Object a2, Object a3,
       
  1176                                    Object a4, Object a5, Object a6, Object a7,
       
  1177                                    Object a8, Object a9) throws Throwable {
       
  1178             return target.invokeExact(filter.invokeExact(a0, a1, a2),
       
  1179                                  a0, a1, a2, a3, a4, a5, a6, a7, a8, a9); }
       
  1180         protected Object invoke_F4(Object a0, Object a1, Object a2, Object a3,
       
  1181                                    Object a4, Object a5, Object a6, Object a7,
       
  1182                                    Object a8, Object a9) throws Throwable {
       
  1183             return target.invokeExact(filter.invokeExact(a0, a1, a2, a3),
       
  1184                                  a0, a1, a2, a3, a4, a5, a6, a7, a8, a9); }
       
  1185         protected Object invoke_F5(Object a0, Object a1, Object a2, Object a3,
       
  1186                                    Object a4, Object a5, Object a6, Object a7,
       
  1187                                    Object a8, Object a9) throws Throwable {
       
  1188             return target.invokeExact(filter.invokeExact(a0, a1, a2, a3, a4),
       
  1189                                  a0, a1, a2, a3, a4, a5, a6, a7, a8, a9); }
       
  1190         protected Object invoke_F6(Object a0, Object a1, Object a2, Object a3,
       
  1191                                    Object a4, Object a5, Object a6, Object a7,
       
  1192                                    Object a8, Object a9) throws Throwable {
       
  1193             return target.invokeExact(filter.invokeExact(a0, a1, a2, a3, a4, a5),
       
  1194                                  a0, a1, a2, a3, a4, a5, a6, a7, a8, a9); }
       
  1195         protected Object invoke_F7(Object a0, Object a1, Object a2, Object a3,
       
  1196                                    Object a4, Object a5, Object a6, Object a7,
       
  1197                                    Object a8, Object a9) throws Throwable {
       
  1198             return target.invokeExact(filter.invokeExact(a0, a1, a2, a3, a4, a5, a6),
       
  1199                                  a0, a1, a2, a3, a4, a5, a6, a7, a8, a9); }
       
  1200         protected Object invoke_F8(Object a0, Object a1, Object a2, Object a3,
       
  1201                                    Object a4, Object a5, Object a6, Object a7,
       
  1202                                    Object a8, Object a9) throws Throwable {
       
  1203             return target.invokeExact(filter.invokeExact(a0, a1, a2, a3, a4, a5, a6, a7),
       
  1204                                  a0, a1, a2, a3, a4, a5, a6, a7, a8, a9); }
       
  1205         protected Object invoke_F9(Object a0, Object a1, Object a2, Object a3,
       
  1206                                    Object a4, Object a5, Object a6, Object a7,
       
  1207                                    Object a8, Object a9) throws Throwable {
       
  1208             return target.invokeExact(filter.invokeExact(a0, a1, a2, a3, a4, a5, a6, a7, a8),
       
  1209                                  a0, a1, a2, a3, a4, a5, a6, a7, a8, a9); }
       
  1210         protected Object invoke_F10(Object a0, Object a1, Object a2, Object a3,
       
  1211                                    Object a4, Object a5, Object a6, Object a7,
       
  1212                                    Object a8, Object a9) throws Throwable {
       
  1213             return target.invokeExact(filter.invokeExact(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9),
       
  1214                                  a0, a1, a2, a3, a4, a5, a6, a7, a8, a9); }
       
  1215         protected Object invoke_C0(Object a0, Object a1, Object a2, Object a3,
       
  1216                                    Object a4, Object a5, Object a6, Object a7,
       
  1217                                    Object a8, Object a9) throws Throwable {
       
  1218             return target.invokeExact(filter.invokeExact(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9)); }
       
  1219         protected Object invoke_C1(Object a0, Object a1, Object a2, Object a3,
       
  1220                                    Object a4, Object a5, Object a6, Object a7,
       
  1221                                    Object a8, Object a9) throws Throwable {
       
  1222             return target.invokeExact(a0, filter.invokeExact(a1, a2, a3, a4, a5, a6, a7, a8, a9)); }
       
  1223         protected Object invoke_C2(Object a0, Object a1, Object a2, Object a3,
       
  1224                                    Object a4, Object a5, Object a6, Object a7,
       
  1225                                    Object a8, Object a9) throws Throwable {
       
  1226             return target.invokeExact(a0, a1, filter.invokeExact(a2, a3, a4, a5, a6, a7, a8, a9)); }
       
  1227         protected Object invoke_C3(Object a0, Object a1, Object a2, Object a3,
       
  1228                                    Object a4, Object a5, Object a6, Object a7,
       
  1229                                    Object a8, Object a9) throws Throwable {
       
  1230             return target.invokeExact(a0, a1, a2, filter.invokeExact(a3, a4, a5, a6, a7, a8, a9)); }
       
  1231         protected Object invoke_C4(Object a0, Object a1, Object a2, Object a3,
       
  1232                                    Object a4, Object a5, Object a6, Object a7,
       
  1233                                    Object a8, Object a9) throws Throwable {
       
  1234             return target.invokeExact(a0, a1, a2, a3, filter.invokeExact(a4, a5, a6, a7, a8, a9)); }
       
  1235         protected Object invoke_C5(Object a0, Object a1, Object a2, Object a3,
       
  1236                                    Object a4, Object a5, Object a6, Object a7,
       
  1237                                    Object a8, Object a9) throws Throwable {
       
  1238             return target.invokeExact(a0, a1, a2, a3, a4, filter.invokeExact(a5, a6, a7, a8, a9)); }
       
  1239         protected Object invoke_C6(Object a0, Object a1, Object a2, Object a3,
       
  1240                                    Object a4, Object a5, Object a6, Object a7,
       
  1241                                    Object a8, Object a9) throws Throwable {
       
  1242             return target.invokeExact(a0, a1, a2, a3, a4, a5, filter.invokeExact(a6, a7, a8, a9)); }
       
  1243         protected Object invoke_C7(Object a0, Object a1, Object a2, Object a3,
       
  1244                                    Object a4, Object a5, Object a6, Object a7,
       
  1245                                    Object a8, Object a9) throws Throwable {
       
  1246             return target.invokeExact(a0, a1, a2, a3, a4, a5, a6, filter.invokeExact(a7, a8, a9)); }
       
  1247         protected Object invoke_C8(Object a0, Object a1, Object a2, Object a3,
       
  1248                                    Object a4, Object a5, Object a6, Object a7,
       
  1249                                    Object a8, Object a9) throws Throwable {
       
  1250             return target.invokeExact(a0, a1, a2, a3, a4, a5, a6, a7, filter.invokeExact(a8, a9)); }
       
  1251         protected Object invoke_C9(Object a0, Object a1, Object a2, Object a3,
       
  1252                                    Object a4, Object a5, Object a6, Object a7,
       
  1253                                    Object a8, Object a9) throws Throwable {
       
  1254             return target.invokeExact(a0, a1, a2, a3, a4, a5, a6, a7, a8, filter.invokeExact(a9)); }
       
  1255         protected Object invoke_C10(Object a0, Object a1, Object a2, Object a3,
       
  1256                                    Object a4, Object a5, Object a6, Object a7,
       
  1257                                    Object a8, Object a9) throws Throwable {
       
  1258             return target.invokeExact(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, filter.invokeExact()); }
       
  1259         protected Object invoke_Y0(Object a0, Object a1, Object a2, Object a3,
       
  1260                                    Object a4, Object a5, Object a6, Object a7,
       
  1261                                    Object a8, Object a9) throws Throwable {
       
  1262             Object[] av = { a0, a1, a2, a3, a4, a5, a6, a7, a8, a9 };
       
  1263             filter.invokeExact(av); // make the flyby
       
  1264             return target.invokeExact(av[0], av[1], av[2], av[3], av[4], av[5], av[6], av[7], av[8], av[9]); }
       
  1265     }
       
  1266     static class F11 extends Adapter {
       
  1267         protected F11(MethodHandle entryPoint) { super(entryPoint); }  // to build prototype
       
  1268         protected F11(MethodHandle e, MethodHandle f, MethodHandle t) {
       
  1269             super(e, f, t); }
       
  1270         protected F11 makeInstance(MethodHandle e, MethodHandle f, MethodHandle t) {
       
  1271             return new F11(e, f, t); }
       
  1272         protected Object invoke_V0(Object a0, Object a1, Object a2, Object a3,
       
  1273                                    Object a4, Object a5, Object a6, Object a7,
       
  1274                                    Object a8, Object a9, Object a10) throws Throwable {
       
  1275             return target.invokeExact(filter.invokeExact(a0), a1, a2, a3, a4, a5, a6, a7, a8, a9,
       
  1276                                  a10); }
       
  1277         protected Object invoke_V1(Object a0, Object a1, Object a2, Object a3,
       
  1278                                    Object a4, Object a5, Object a6, Object a7,
       
  1279                                    Object a8, Object a9, Object a10) throws Throwable {
       
  1280             return target.invokeExact(a0, filter.invokeExact(a1), a2, a3, a4, a5, a6, a7, a8, a9,
       
  1281                                  a10); }
       
  1282         protected Object invoke_V2(Object a0, Object a1, Object a2, Object a3,
       
  1283                                    Object a4, Object a5, Object a6, Object a7,
       
  1284                                    Object a8, Object a9, Object a10) throws Throwable {
       
  1285             return target.invokeExact(a0, a1, filter.invokeExact(a2), a3, a4, a5, a6, a7, a8, a9,
       
  1286                                  a10); }
       
  1287         protected Object invoke_V3(Object a0, Object a1, Object a2, Object a3,
       
  1288                                    Object a4, Object a5, Object a6, Object a7,
       
  1289                                    Object a8, Object a9, Object a10) throws Throwable {
       
  1290             return target.invokeExact(a0, a1, a2, filter.invokeExact(a3), a4, a5, a6, a7, a8, a9,
       
  1291                                  a10); }
       
  1292         protected Object invoke_V4(Object a0, Object a1, Object a2, Object a3,
       
  1293                                    Object a4, Object a5, Object a6, Object a7,
       
  1294                                    Object a8, Object a9, Object a10) throws Throwable {
       
  1295             return target.invokeExact(a0, a1, a2, a3, filter.invokeExact(a4), a5, a6, a7, a8, a9,
       
  1296                                  a10); }
       
  1297         protected Object invoke_V5(Object a0, Object a1, Object a2, Object a3,
       
  1298                                    Object a4, Object a5, Object a6, Object a7,
       
  1299                                    Object a8, Object a9, Object a10) throws Throwable {
       
  1300             return target.invokeExact(a0, a1, a2, a3, a4, filter.invokeExact(a5), a6, a7, a8, a9,
       
  1301                                  a10); }
       
  1302         protected Object invoke_V6(Object a0, Object a1, Object a2, Object a3,
       
  1303                                    Object a4, Object a5, Object a6, Object a7,
       
  1304                                    Object a8, Object a9, Object a10) throws Throwable {
       
  1305             return target.invokeExact(a0, a1, a2, a3, a4, a5, filter.invokeExact(a6), a7, a8, a9,
       
  1306                                  a10); }
       
  1307         protected Object invoke_V7(Object a0, Object a1, Object a2, Object a3,
       
  1308                                    Object a4, Object a5, Object a6, Object a7,
       
  1309                                    Object a8, Object a9, Object a10) throws Throwable {
       
  1310             return target.invokeExact(a0, a1, a2, a3, a4, a5, a6, filter.invokeExact(a7), a8, a9,
       
  1311                                  a10); }
       
  1312         protected Object invoke_V8(Object a0, Object a1, Object a2, Object a3,
       
  1313                                    Object a4, Object a5, Object a6, Object a7,
       
  1314                                    Object a8, Object a9, Object a10) throws Throwable {
       
  1315             return target.invokeExact(a0, a1, a2, a3, a4, a5, a6, a7, filter.invokeExact(a8), a9,
       
  1316                                  a10); }
       
  1317         protected Object invoke_V9(Object a0, Object a1, Object a2, Object a3,
       
  1318                                    Object a4, Object a5, Object a6, Object a7,
       
  1319                                    Object a8, Object a9, Object a10) throws Throwable {
       
  1320             return target.invokeExact(a0, a1, a2, a3, a4, a5, a6, a7, a8, filter.invokeExact(a9),
       
  1321                                  a10); }
       
  1322         protected Object invoke_V10(Object a0, Object a1, Object a2, Object a3,
       
  1323                                     Object a4, Object a5, Object a6, Object a7,
       
  1324                                     Object a8, Object a9, Object a10) throws Throwable {
       
  1325             return target.invokeExact(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9,
       
  1326                                  filter.invokeExact(a10)); }
       
  1327         protected Object invoke_F0(Object a0, Object a1, Object a2, Object a3,
       
  1328                                    Object a4, Object a5, Object a6, Object a7,
       
  1329                                    Object a8, Object a9, Object a10) throws Throwable {
       
  1330             return target.invokeExact(filter.invokeExact(),
       
  1331                                  a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10); }
       
  1332         protected Object invoke_F1(Object a0, Object a1, Object a2, Object a3,
       
  1333                                    Object a4, Object a5, Object a6, Object a7,
       
  1334                                    Object a8, Object a9, Object a10) throws Throwable {
       
  1335             return target.invokeExact(filter.invokeExact(a0),
       
  1336                                  a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10); }
       
  1337         protected Object invoke_F2(Object a0, Object a1, Object a2, Object a3,
       
  1338                                    Object a4, Object a5, Object a6, Object a7,
       
  1339                                    Object a8, Object a9, Object a10) throws Throwable {
       
  1340             return target.invokeExact(filter.invokeExact(a0, a1),
       
  1341                                  a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10); }
       
  1342         protected Object invoke_F3(Object a0, Object a1, Object a2, Object a3,
       
  1343                                    Object a4, Object a5, Object a6, Object a7,
       
  1344                                    Object a8, Object a9, Object a10) throws Throwable {
       
  1345             return target.invokeExact(filter.invokeExact(a0, a1, a2),
       
  1346                                  a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10); }
       
  1347         protected Object invoke_F4(Object a0, Object a1, Object a2, Object a3,
       
  1348                                    Object a4, Object a5, Object a6, Object a7,
       
  1349                                    Object a8, Object a9, Object a10) throws Throwable {
       
  1350             return target.invokeExact(filter.invokeExact(a0, a1, a2, a3),
       
  1351                                  a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10); }
       
  1352         protected Object invoke_F5(Object a0, Object a1, Object a2, Object a3,
       
  1353                                    Object a4, Object a5, Object a6, Object a7,
       
  1354                                    Object a8, Object a9, Object a10) throws Throwable {
       
  1355             return target.invokeExact(filter.invokeExact(a0, a1, a2, a3, a4),
       
  1356                                  a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10); }
       
  1357         protected Object invoke_F6(Object a0, Object a1, Object a2, Object a3,
       
  1358                                    Object a4, Object a5, Object a6, Object a7,
       
  1359                                    Object a8, Object a9, Object a10) throws Throwable {
       
  1360             return target.invokeExact(filter.invokeExact(a0, a1, a2, a3, a4, a5),
       
  1361                                  a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10); }
       
  1362         protected Object invoke_F7(Object a0, Object a1, Object a2, Object a3,
       
  1363                                    Object a4, Object a5, Object a6, Object a7,
       
  1364                                    Object a8, Object a9, Object a10) throws Throwable {
       
  1365             return target.invokeExact(filter.invokeExact(a0, a1, a2, a3, a4, a5, a6),
       
  1366                                  a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10); }
       
  1367         protected Object invoke_F8(Object a0, Object a1, Object a2, Object a3,
       
  1368                                    Object a4, Object a5, Object a6, Object a7,
       
  1369                                    Object a8, Object a9, Object a10) throws Throwable {
       
  1370             return target.invokeExact(filter.invokeExact(a0, a1, a2, a3, a4, a5, a6, a7),
       
  1371                                  a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10); }
       
  1372         protected Object invoke_F9(Object a0, Object a1, Object a2, Object a3,
       
  1373                                    Object a4, Object a5, Object a6, Object a7,
       
  1374                                    Object a8, Object a9, Object a10) throws Throwable {
       
  1375             return target.invokeExact(filter.invokeExact(a0, a1, a2, a3, a4, a5, a6, a7, a8),
       
  1376                                  a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10); }
       
  1377         protected Object invoke_F10(Object a0, Object a1, Object a2, Object a3,
       
  1378                                     Object a4, Object a5, Object a6, Object a7,
       
  1379                                     Object a8, Object a9, Object a10) throws Throwable {
       
  1380             return target.invokeExact(filter.invokeExact(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9),
       
  1381                                  a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10); }
       
  1382         protected Object invoke_F11(Object a0, Object a1, Object a2, Object a3,
       
  1383                                    Object a4, Object a5, Object a6, Object a7,
       
  1384                                    Object a8, Object a9, Object a10) throws Throwable {
       
  1385             return target.invokeExact(filter.invokeExact(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10),
       
  1386                                  a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10); }
       
  1387         protected Object invoke_C0(Object a0, Object a1, Object a2, Object a3,
       
  1388                                    Object a4, Object a5, Object a6, Object a7,
       
  1389                                    Object a8, Object a9, Object a10) throws Throwable {
       
  1390             return target.invokeExact(filter.invokeExact(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9,
       
  1391                                  a10)); }
       
  1392         protected Object invoke_C1(Object a0, Object a1, Object a2, Object a3,
       
  1393                                    Object a4, Object a5, Object a6, Object a7,
       
  1394                                    Object a8, Object a9, Object a10) throws Throwable {
       
  1395             return target.invokeExact(a0, filter.invokeExact(a1, a2, a3, a4, a5, a6, a7, a8, a9,
       
  1396                                  a10)); }
       
  1397         protected Object invoke_C2(Object a0, Object a1, Object a2, Object a3,
       
  1398                                    Object a4, Object a5, Object a6, Object a7,
       
  1399                                    Object a8, Object a9, Object a10) throws Throwable {
       
  1400             return target.invokeExact(a0, a1, filter.invokeExact(a2, a3, a4, a5, a6, a7, a8, a9,
       
  1401                                  a10)); }
       
  1402         protected Object invoke_C3(Object a0, Object a1, Object a2, Object a3,
       
  1403                                    Object a4, Object a5, Object a6, Object a7,
       
  1404                                    Object a8, Object a9, Object a10) throws Throwable {
       
  1405             return target.invokeExact(a0, a1, a2, filter.invokeExact(a3, a4, a5, a6, a7, a8, a9,
       
  1406                                  a10)); }
       
  1407         protected Object invoke_C4(Object a0, Object a1, Object a2, Object a3,
       
  1408                                    Object a4, Object a5, Object a6, Object a7,
       
  1409                                    Object a8, Object a9, Object a10) throws Throwable {
       
  1410             return target.invokeExact(a0, a1, a2, a3, filter.invokeExact(a4, a5, a6, a7, a8, a9,
       
  1411                                  a10)); }
       
  1412         protected Object invoke_C5(Object a0, Object a1, Object a2, Object a3,
       
  1413                                    Object a4, Object a5, Object a6, Object a7,
       
  1414                                    Object a8, Object a9, Object a10) throws Throwable {
       
  1415             return target.invokeExact(a0, a1, a2, a3, a4, filter.invokeExact(a5, a6, a7, a8, a9,
       
  1416                                  a10)); }
       
  1417         protected Object invoke_C6(Object a0, Object a1, Object a2, Object a3,
       
  1418                                    Object a4, Object a5, Object a6, Object a7,
       
  1419                                    Object a8, Object a9, Object a10) throws Throwable {
       
  1420             return target.invokeExact(a0, a1, a2, a3, a4, a5, filter.invokeExact(a6, a7, a8, a9,
       
  1421                                  a10)); }
       
  1422         protected Object invoke_C7(Object a0, Object a1, Object a2, Object a3,
       
  1423                                    Object a4, Object a5, Object a6, Object a7,
       
  1424                                    Object a8, Object a9, Object a10) throws Throwable {
       
  1425             return target.invokeExact(a0, a1, a2, a3, a4, a5, a6, filter.invokeExact(a7, a8, a9,
       
  1426                                  a10)); }
       
  1427         protected Object invoke_C8(Object a0, Object a1, Object a2, Object a3,
       
  1428                                    Object a4, Object a5, Object a6, Object a7,
       
  1429                                    Object a8, Object a9, Object a10) throws Throwable {
       
  1430             return target.invokeExact(a0, a1, a2, a3, a4, a5, a6, a7, filter.invokeExact(a8, a9,
       
  1431                                  a10)); }
       
  1432         protected Object invoke_C9(Object a0, Object a1, Object a2, Object a3,
       
  1433                                    Object a4, Object a5, Object a6, Object a7,
       
  1434                                    Object a8, Object a9, Object a10) throws Throwable {
       
  1435             return target.invokeExact(a0, a1, a2, a3, a4, a5, a6, a7, a8, filter.invokeExact(a9,
       
  1436                                  a10)); }
       
  1437         protected Object invoke_C10(Object a0, Object a1, Object a2, Object a3,
       
  1438                                     Object a4, Object a5, Object a6, Object a7,
       
  1439                                     Object a8, Object a9, Object a10) throws Throwable {
       
  1440             return target.invokeExact(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, filter.invokeExact(a10)); }
       
  1441         protected Object invoke_C11(Object a0, Object a1, Object a2, Object a3,
       
  1442                                    Object a4, Object a5, Object a6, Object a7,
       
  1443                                    Object a8, Object a9, Object a10) throws Throwable {
       
  1444             return target.invokeExact(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, filter.invokeExact()); }
       
  1445         protected Object invoke_Y0(Object a0, Object a1, Object a2, Object a3,
       
  1446                                    Object a4, Object a5, Object a6, Object a7,
       
  1447                                    Object a8, Object a9, Object a10) throws Throwable {
       
  1448             Object[] av = { a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10 };
       
  1449             filter.invokeExact(av); // make the flyby
       
  1450             return target.invokeExact(av[0], av[1], av[2], av[3], av[4], av[5], av[6], av[7], av[8], av[9], av[10]); }
       
  1451     }
       
  1452     static class F12 extends Adapter {
       
  1453         protected F12(MethodHandle entryPoint) { super(entryPoint); }  // to build prototype
       
  1454         protected F12(MethodHandle e, MethodHandle f, MethodHandle t) {
       
  1455             super(e, f, t); }
       
  1456         protected F12 makeInstance(MethodHandle e, MethodHandle f, MethodHandle t) {
       
  1457             return new F12(e, f, t); }
       
  1458         protected Object invoke_V0(Object a0, Object a1, Object a2, Object a3,
       
  1459                                    Object a4, Object a5, Object a6, Object a7,
       
  1460                                    Object a8, Object a9, Object a10, Object a11) throws Throwable {
       
  1461             return target.invokeExact(filter.invokeExact(a0), a1, a2, a3, a4, a5, a6, a7, a8, a9,
       
  1462                                  a10, a11); }
       
  1463         protected Object invoke_V1(Object a0, Object a1, Object a2, Object a3,
       
  1464                                    Object a4, Object a5, Object a6, Object a7,
       
  1465                                    Object a8, Object a9, Object a10, Object a11) throws Throwable {
       
  1466             return target.invokeExact(a0, filter.invokeExact(a1), a2, a3, a4, a5, a6, a7, a8, a9,
       
  1467                                  a10, a11); }
       
  1468         protected Object invoke_V2(Object a0, Object a1, Object a2, Object a3,
       
  1469                                    Object a4, Object a5, Object a6, Object a7,
       
  1470                                    Object a8, Object a9, Object a10, Object a11) throws Throwable {
       
  1471             return target.invokeExact(a0, a1, filter.invokeExact(a2), a3, a4, a5, a6, a7, a8, a9,
       
  1472                                  a10, a11); }
       
  1473         protected Object invoke_V3(Object a0, Object a1, Object a2, Object a3,
       
  1474                                    Object a4, Object a5, Object a6, Object a7,
       
  1475                                    Object a8, Object a9, Object a10, Object a11) throws Throwable {
       
  1476             return target.invokeExact(a0, a1, a2, filter.invokeExact(a3), a4, a5, a6, a7, a8, a9,
       
  1477                                  a10, a11); }
       
  1478         protected Object invoke_V4(Object a0, Object a1, Object a2, Object a3,
       
  1479                                    Object a4, Object a5, Object a6, Object a7,
       
  1480                                    Object a8, Object a9, Object a10, Object a11) throws Throwable {
       
  1481             return target.invokeExact(a0, a1, a2, a3, filter.invokeExact(a4), a5, a6, a7, a8, a9,
       
  1482                                  a10, a11); }
       
  1483         protected Object invoke_V5(Object a0, Object a1, Object a2, Object a3,
       
  1484                                    Object a4, Object a5, Object a6, Object a7,
       
  1485                                    Object a8, Object a9, Object a10, Object a11) throws Throwable {
       
  1486             return target.invokeExact(a0, a1, a2, a3, a4, filter.invokeExact(a5), a6, a7, a8, a9,
       
  1487                                  a10, a11); }
       
  1488         protected Object invoke_V6(Object a0, Object a1, Object a2, Object a3,
       
  1489                                    Object a4, Object a5, Object a6, Object a7,
       
  1490                                    Object a8, Object a9, Object a10, Object a11) throws Throwable {
       
  1491             return target.invokeExact(a0, a1, a2, a3, a4, a5, filter.invokeExact(a6), a7, a8, a9,
       
  1492                                  a10, a11); }
       
  1493         protected Object invoke_V7(Object a0, Object a1, Object a2, Object a3,
       
  1494                                    Object a4, Object a5, Object a6, Object a7,
       
  1495                                    Object a8, Object a9, Object a10, Object a11) throws Throwable {
       
  1496             return target.invokeExact(a0, a1, a2, a3, a4, a5, a6, filter.invokeExact(a7), a8, a9,
       
  1497                                  a10, a11); }
       
  1498         protected Object invoke_V8(Object a0, Object a1, Object a2, Object a3,
       
  1499                                    Object a4, Object a5, Object a6, Object a7,
       
  1500                                    Object a8, Object a9, Object a10, Object a11) throws Throwable {
       
  1501             return target.invokeExact(a0, a1, a2, a3, a4, a5, a6, a7, filter.invokeExact(a8), a9,
       
  1502                                  a10, a11); }
       
  1503         protected Object invoke_V9(Object a0, Object a1, Object a2, Object a3,
       
  1504                                    Object a4, Object a5, Object a6, Object a7,
       
  1505                                    Object a8, Object a9, Object a10, Object a11) throws Throwable {
       
  1506             return target.invokeExact(a0, a1, a2, a3, a4, a5, a6, a7, a8, filter.invokeExact(a9),
       
  1507                                  a10, a11); }
       
  1508         protected Object invoke_V10(Object a0, Object a1, Object a2, Object a3,
       
  1509                                     Object a4, Object a5, Object a6, Object a7,
       
  1510                                     Object a8, Object a9, Object a10, Object a11) throws Throwable {
       
  1511             return target.invokeExact(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9,
       
  1512                                  filter.invokeExact(a10), a11); }
       
  1513         protected Object invoke_V11(Object a0, Object a1, Object a2, Object a3,
       
  1514                                     Object a4, Object a5, Object a6, Object a7,
       
  1515                                     Object a8, Object a9, Object a10, Object a11) throws Throwable {
       
  1516             return target.invokeExact(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9,
       
  1517                                  a10, filter.invokeExact(a11)); }
       
  1518         protected Object invoke_F0(Object a0, Object a1, Object a2, Object a3,
       
  1519                                    Object a4, Object a5, Object a6, Object a7,
       
  1520                                    Object a8, Object a9, Object a10, Object a11) throws Throwable {
       
  1521             return target.invokeExact(filter.invokeExact(),
       
  1522                                  a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11); }
       
  1523         protected Object invoke_F1(Object a0, Object a1, Object a2, Object a3,
       
  1524                                    Object a4, Object a5, Object a6, Object a7,
       
  1525                                    Object a8, Object a9, Object a10, Object a11) throws Throwable {
       
  1526             return target.invokeExact(filter.invokeExact(a0),
       
  1527                                  a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11); }
       
  1528         protected Object invoke_F2(Object a0, Object a1, Object a2, Object a3,
       
  1529                                    Object a4, Object a5, Object a6, Object a7,
       
  1530                                    Object a8, Object a9, Object a10, Object a11) throws Throwable {
       
  1531             return target.invokeExact(filter.invokeExact(a0, a1),
       
  1532                                  a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11); }
       
  1533         protected Object invoke_F3(Object a0, Object a1, Object a2, Object a3,
       
  1534                                    Object a4, Object a5, Object a6, Object a7,
       
  1535                                    Object a8, Object a9, Object a10, Object a11) throws Throwable {
       
  1536             return target.invokeExact(filter.invokeExact(a0, a1, a2),
       
  1537                                  a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11); }
       
  1538         protected Object invoke_F4(Object a0, Object a1, Object a2, Object a3,
       
  1539                                    Object a4, Object a5, Object a6, Object a7,
       
  1540                                    Object a8, Object a9, Object a10, Object a11) throws Throwable {
       
  1541             return target.invokeExact(filter.invokeExact(a0, a1, a2, a3),
       
  1542                                  a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11); }
       
  1543         protected Object invoke_F5(Object a0, Object a1, Object a2, Object a3,
       
  1544                                    Object a4, Object a5, Object a6, Object a7,
       
  1545                                    Object a8, Object a9, Object a10, Object a11) throws Throwable {
       
  1546             return target.invokeExact(filter.invokeExact(a0, a1, a2, a3, a4),
       
  1547                                  a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11); }
       
  1548         protected Object invoke_F6(Object a0, Object a1, Object a2, Object a3,
       
  1549                                    Object a4, Object a5, Object a6, Object a7,
       
  1550                                    Object a8, Object a9, Object a10, Object a11) throws Throwable {
       
  1551             return target.invokeExact(filter.invokeExact(a0, a1, a2, a3, a4, a5),
       
  1552                                  a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11); }
       
  1553         protected Object invoke_F7(Object a0, Object a1, Object a2, Object a3,
       
  1554                                    Object a4, Object a5, Object a6, Object a7,
       
  1555                                    Object a8, Object a9, Object a10, Object a11) throws Throwable {
       
  1556             return target.invokeExact(filter.invokeExact(a0, a1, a2, a3, a4, a5, a6),
       
  1557                                  a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11); }
       
  1558         protected Object invoke_F8(Object a0, Object a1, Object a2, Object a3,
       
  1559                                    Object a4, Object a5, Object a6, Object a7,
       
  1560                                    Object a8, Object a9, Object a10, Object a11) throws Throwable {
       
  1561             return target.invokeExact(filter.invokeExact(a0, a1, a2, a3, a4, a5, a6, a7),
       
  1562                                  a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11); }
       
  1563         protected Object invoke_F9(Object a0, Object a1, Object a2, Object a3,
       
  1564                                    Object a4, Object a5, Object a6, Object a7,
       
  1565                                    Object a8, Object a9, Object a10, Object a11) throws Throwable {
       
  1566             return target.invokeExact(filter.invokeExact(a0, a1, a2, a3, a4, a5, a6, a7, a8),
       
  1567                                  a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11); }
       
  1568         protected Object invoke_F10(Object a0, Object a1, Object a2, Object a3,
       
  1569                                     Object a4, Object a5, Object a6, Object a7,
       
  1570                                     Object a8, Object a9, Object a10, Object a11) throws Throwable {
       
  1571             return target.invokeExact(filter.invokeExact(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9),
       
  1572                                  a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11); }
       
  1573         protected Object invoke_F11(Object a0, Object a1, Object a2, Object a3,
       
  1574                                     Object a4, Object a5, Object a6, Object a7,
       
  1575                                     Object a8, Object a9, Object a10, Object a11) throws Throwable {
       
  1576             return target.invokeExact(filter.invokeExact(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9,
       
  1577                                  a10),
       
  1578                                  a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11); }
       
  1579         protected Object invoke_F12(Object a0, Object a1, Object a2, Object a3,
       
  1580                                    Object a4, Object a5, Object a6, Object a7,
       
  1581                                    Object a8, Object a9, Object a10, Object a11) throws Throwable {
       
  1582             return target.invokeExact(filter.invokeExact(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11),
       
  1583                                  a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11); }
       
  1584         protected Object invoke_C0(Object a0, Object a1, Object a2, Object a3,
       
  1585                                    Object a4, Object a5, Object a6, Object a7,
       
  1586                                    Object a8, Object a9, Object a10, Object a11) throws Throwable {
       
  1587             return target.invokeExact(filter.invokeExact(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9,
       
  1588                                  a10, a11)); }
       
  1589         protected Object invoke_C1(Object a0, Object a1, Object a2, Object a3,
       
  1590                                    Object a4, Object a5, Object a6, Object a7,
       
  1591                                    Object a8, Object a9, Object a10, Object a11) throws Throwable {
       
  1592             return target.invokeExact(a0, filter.invokeExact(a1, a2, a3, a4, a5, a6, a7, a8, a9,
       
  1593                                  a10, a11)); }
       
  1594         protected Object invoke_C2(Object a0, Object a1, Object a2, Object a3,
       
  1595                                    Object a4, Object a5, Object a6, Object a7,
       
  1596                                    Object a8, Object a9, Object a10, Object a11) throws Throwable {
       
  1597             return target.invokeExact(a0, a1, filter.invokeExact(a2, a3, a4, a5, a6, a7, a8, a9,
       
  1598                                  a10, a11)); }
       
  1599         protected Object invoke_C3(Object a0, Object a1, Object a2, Object a3,
       
  1600                                    Object a4, Object a5, Object a6, Object a7,
       
  1601                                    Object a8, Object a9, Object a10, Object a11) throws Throwable {
       
  1602             return target.invokeExact(a0, a1, a2, filter.invokeExact(a3, a4, a5, a6, a7, a8, a9,
       
  1603                                  a10, a11)); }
       
  1604         protected Object invoke_C4(Object a0, Object a1, Object a2, Object a3,
       
  1605                                    Object a4, Object a5, Object a6, Object a7,
       
  1606                                    Object a8, Object a9, Object a10, Object a11) throws Throwable {
       
  1607             return target.invokeExact(a0, a1, a2, a3, filter.invokeExact(a4, a5, a6, a7, a8, a9,
       
  1608                                  a10, a11)); }
       
  1609         protected Object invoke_C5(Object a0, Object a1, Object a2, Object a3,
       
  1610                                    Object a4, Object a5, Object a6, Object a7,
       
  1611                                    Object a8, Object a9, Object a10, Object a11) throws Throwable {
       
  1612             return target.invokeExact(a0, a1, a2, a3, a4, filter.invokeExact(a5, a6, a7, a8, a9,
       
  1613                                  a10, a11)); }
       
  1614         protected Object invoke_C6(Object a0, Object a1, Object a2, Object a3,
       
  1615                                    Object a4, Object a5, Object a6, Object a7,
       
  1616                                    Object a8, Object a9, Object a10, Object a11) throws Throwable {
       
  1617             return target.invokeExact(a0, a1, a2, a3, a4, a5, filter.invokeExact(a6, a7, a8, a9,
       
  1618                                  a10, a11)); }
       
  1619         protected Object invoke_C7(Object a0, Object a1, Object a2, Object a3,
       
  1620                                    Object a4, Object a5, Object a6, Object a7,
       
  1621                                    Object a8, Object a9, Object a10, Object a11) throws Throwable {
       
  1622             return target.invokeExact(a0, a1, a2, a3, a4, a5, a6, filter.invokeExact(a7, a8, a9,
       
  1623                                  a10, a11)); }
       
  1624         protected Object invoke_C8(Object a0, Object a1, Object a2, Object a3,
       
  1625                                    Object a4, Object a5, Object a6, Object a7,
       
  1626                                    Object a8, Object a9, Object a10, Object a11) throws Throwable {
       
  1627             return target.invokeExact(a0, a1, a2, a3, a4, a5, a6, a7, filter.invokeExact(a8, a9,
       
  1628                                  a10, a11)); }
       
  1629         protected Object invoke_C9(Object a0, Object a1, Object a2, Object a3,
       
  1630                                    Object a4, Object a5, Object a6, Object a7,
       
  1631                                    Object a8, Object a9, Object a10, Object a11) throws Throwable {
       
  1632             return target.invokeExact(a0, a1, a2, a3, a4, a5, a6, a7, a8, filter.invokeExact(a9,
       
  1633                                  a10, a11)); }
       
  1634         protected Object invoke_C10(Object a0, Object a1, Object a2, Object a3,
       
  1635                                     Object a4, Object a5, Object a6, Object a7,
       
  1636                                     Object a8, Object a9, Object a10, Object a11) throws Throwable {
       
  1637             return target.invokeExact(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, filter.invokeExact(a10, a11)); }
       
  1638         protected Object invoke_C11(Object a0, Object a1, Object a2, Object a3,
       
  1639                                     Object a4, Object a5, Object a6, Object a7,
       
  1640                                     Object a8, Object a9, Object a10, Object a11) throws Throwable {
       
  1641             return target.invokeExact(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9,
       
  1642                                  a10, filter.invokeExact(a11)); }
       
  1643         protected Object invoke_C12(Object a0, Object a1, Object a2, Object a3,
       
  1644                                    Object a4, Object a5, Object a6, Object a7,
       
  1645                                    Object a8, Object a9, Object a10, Object a11) throws Throwable {
       
  1646             return target.invokeExact(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, filter.invokeExact()); }
       
  1647         protected Object invoke_Y0(Object a0, Object a1, Object a2, Object a3,
       
  1648                                    Object a4, Object a5, Object a6, Object a7,
       
  1649                                    Object a8, Object a9, Object a10, Object a11) throws Throwable {
       
  1650             Object[] av = { a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11 };
       
  1651             filter.invokeExact(av); // make the flyby
       
  1652             return target.invokeExact(av[0], av[1], av[2], av[3], av[4], av[5], av[6], av[7], av[8], av[9], av[10], av[11]); }
       
  1653     }
       
  1654     static class F13 extends Adapter {
       
  1655         protected F13(MethodHandle entryPoint) { super(entryPoint); }  // to build prototype
       
  1656         protected F13(MethodHandle e, MethodHandle f, MethodHandle t) {
       
  1657             super(e, f, t); }
       
  1658         protected F13 makeInstance(MethodHandle e, MethodHandle f, MethodHandle t) {
       
  1659             return new F13(e, f, t); }
       
  1660         protected Object invoke_V0(Object a0, Object a1, Object a2, Object a3,
       
  1661                                    Object a4, Object a5, Object a6, Object a7,
       
  1662                                    Object a8, Object a9, Object a10, Object a11,
       
  1663                                    Object a12) throws Throwable {
       
  1664             return target.invokeExact(filter.invokeExact(a0), a1, a2, a3, a4, a5, a6, a7, a8, a9,
       
  1665                                  a10, a11, a12); }
       
  1666         protected Object invoke_V1(Object a0, Object a1, Object a2, Object a3,
       
  1667                                    Object a4, Object a5, Object a6, Object a7,
       
  1668                                    Object a8, Object a9, Object a10, Object a11,
       
  1669                                    Object a12) throws Throwable {
       
  1670             return target.invokeExact(a0, filter.invokeExact(a1), a2, a3, a4, a5, a6, a7, a8, a9,
       
  1671                                  a10, a11, a12); }
       
  1672         protected Object invoke_V2(Object a0, Object a1, Object a2, Object a3,
       
  1673                                    Object a4, Object a5, Object a6, Object a7,
       
  1674                                    Object a8, Object a9, Object a10, Object a11,
       
  1675                                    Object a12) throws Throwable {
       
  1676             return target.invokeExact(a0, a1, filter.invokeExact(a2), a3, a4, a5, a6, a7, a8, a9,
       
  1677                                  a10, a11, a12); }
       
  1678         protected Object invoke_V3(Object a0, Object a1, Object a2, Object a3,
       
  1679                                    Object a4, Object a5, Object a6, Object a7,
       
  1680                                    Object a8, Object a9, Object a10, Object a11,
       
  1681                                    Object a12) throws Throwable {
       
  1682             return target.invokeExact(a0, a1, a2, filter.invokeExact(a3), a4, a5, a6, a7, a8, a9,
       
  1683                                  a10, a11, a12); }
       
  1684         protected Object invoke_V4(Object a0, Object a1, Object a2, Object a3,
       
  1685                                    Object a4, Object a5, Object a6, Object a7,
       
  1686                                    Object a8, Object a9, Object a10, Object a11,
       
  1687                                    Object a12) throws Throwable {
       
  1688             return target.invokeExact(a0, a1, a2, a3, filter.invokeExact(a4), a5, a6, a7, a8, a9,
       
  1689                                  a10, a11, a12); }
       
  1690         protected Object invoke_V5(Object a0, Object a1, Object a2, Object a3,
       
  1691                                    Object a4, Object a5, Object a6, Object a7,
       
  1692                                    Object a8, Object a9, Object a10, Object a11,
       
  1693                                    Object a12) throws Throwable {
       
  1694             return target.invokeExact(a0, a1, a2, a3, a4, filter.invokeExact(a5), a6, a7, a8, a9,
       
  1695                                  a10, a11, a12); }
       
  1696         protected Object invoke_V6(Object a0, Object a1, Object a2, Object a3,
       
  1697                                    Object a4, Object a5, Object a6, Object a7,
       
  1698                                    Object a8, Object a9, Object a10, Object a11,
       
  1699                                    Object a12) throws Throwable {
       
  1700             return target.invokeExact(a0, a1, a2, a3, a4, a5, filter.invokeExact(a6), a7, a8, a9,
       
  1701                                  a10, a11, a12); }
       
  1702         protected Object invoke_V7(Object a0, Object a1, Object a2, Object a3,
       
  1703                                    Object a4, Object a5, Object a6, Object a7,
       
  1704                                    Object a8, Object a9, Object a10, Object a11,
       
  1705                                    Object a12) throws Throwable {
       
  1706             return target.invokeExact(a0, a1, a2, a3, a4, a5, a6, filter.invokeExact(a7), a8, a9,
       
  1707                                  a10, a11, a12); }
       
  1708         protected Object invoke_V8(Object a0, Object a1, Object a2, Object a3,
       
  1709                                    Object a4, Object a5, Object a6, Object a7,
       
  1710                                    Object a8, Object a9, Object a10, Object a11,
       
  1711                                    Object a12) throws Throwable {
       
  1712             return target.invokeExact(a0, a1, a2, a3, a4, a5, a6, a7, filter.invokeExact(a8), a9,
       
  1713                                  a10, a11, a12); }
       
  1714         protected Object invoke_V9(Object a0, Object a1, Object a2, Object a3,
       
  1715                                    Object a4, Object a5, Object a6, Object a7,
       
  1716                                    Object a8, Object a9, Object a10, Object a11,
       
  1717                                    Object a12) throws Throwable {
       
  1718             return target.invokeExact(a0, a1, a2, a3, a4, a5, a6, a7, a8, filter.invokeExact(a9),
       
  1719                                  a10, a11, a12); }
       
  1720         protected Object invoke_V10(Object a0, Object a1, Object a2, Object a3,
       
  1721                                     Object a4, Object a5, Object a6, Object a7,
       
  1722                                     Object a8, Object a9, Object a10, Object a11,
       
  1723                                     Object a12) throws Throwable {
       
  1724             return target.invokeExact(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9,
       
  1725                                  filter.invokeExact(a10), a11, a12); }
       
  1726         protected Object invoke_V11(Object a0, Object a1, Object a2, Object a3,
       
  1727                                     Object a4, Object a5, Object a6, Object a7,
       
  1728                                     Object a8, Object a9, Object a10, Object a11,
       
  1729                                     Object a12) throws Throwable {
       
  1730             return target.invokeExact(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9,
       
  1731                                  a10, filter.invokeExact(a11), a12); }
       
  1732         protected Object invoke_V12(Object a0, Object a1, Object a2, Object a3,
       
  1733                                     Object a4, Object a5, Object a6, Object a7,
       
  1734                                     Object a8, Object a9, Object a10, Object a11,
       
  1735                                     Object a12) throws Throwable {
       
  1736             return target.invokeExact(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9,
       
  1737                                  a10, a11, filter.invokeExact(a12)); }
       
  1738         protected Object invoke_F0(Object a0, Object a1, Object a2, Object a3,
       
  1739                                    Object a4, Object a5, Object a6, Object a7,
       
  1740                                    Object a8, Object a9, Object a10, Object a11,
       
  1741                                    Object a12) throws Throwable {
       
  1742             return target.invokeExact(filter.invokeExact(),
       
  1743                                  a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12); }
       
  1744         protected Object invoke_F1(Object a0, Object a1, Object a2, Object a3,
       
  1745                                    Object a4, Object a5, Object a6, Object a7,
       
  1746                                    Object a8, Object a9, Object a10, Object a11,
       
  1747                                    Object a12) throws Throwable {
       
  1748             return target.invokeExact(filter.invokeExact(a0),
       
  1749                                  a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12); }
       
  1750         protected Object invoke_F2(Object a0, Object a1, Object a2, Object a3,
       
  1751                                    Object a4, Object a5, Object a6, Object a7,
       
  1752                                    Object a8, Object a9, Object a10, Object a11,
       
  1753                                    Object a12) throws Throwable {
       
  1754             return target.invokeExact(filter.invokeExact(a0, a1),
       
  1755                                  a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12); }
       
  1756         protected Object invoke_F3(Object a0, Object a1, Object a2, Object a3,
       
  1757                                    Object a4, Object a5, Object a6, Object a7,
       
  1758                                    Object a8, Object a9, Object a10, Object a11,
       
  1759                                    Object a12) throws Throwable {
       
  1760             return target.invokeExact(filter.invokeExact(a0, a1, a2),
       
  1761                                  a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12); }
       
  1762         protected Object invoke_F4(Object a0, Object a1, Object a2, Object a3,
       
  1763                                    Object a4, Object a5, Object a6, Object a7,
       
  1764                                    Object a8, Object a9, Object a10, Object a11,
       
  1765                                    Object a12) throws Throwable {
       
  1766             return target.invokeExact(filter.invokeExact(a0, a1, a2, a3),
       
  1767                                  a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12); }
       
  1768         protected Object invoke_F5(Object a0, Object a1, Object a2, Object a3,
       
  1769                                    Object a4, Object a5, Object a6, Object a7,
       
  1770                                    Object a8, Object a9, Object a10, Object a11,
       
  1771                                    Object a12) throws Throwable {
       
  1772             return target.invokeExact(filter.invokeExact(a0, a1, a2, a3, a4),
       
  1773                                  a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12); }
       
  1774         protected Object invoke_F6(Object a0, Object a1, Object a2, Object a3,
       
  1775                                    Object a4, Object a5, Object a6, Object a7,
       
  1776                                    Object a8, Object a9, Object a10, Object a11,
       
  1777                                    Object a12) throws Throwable {
       
  1778             return target.invokeExact(filter.invokeExact(a0, a1, a2, a3, a4, a5),
       
  1779                                  a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12); }
       
  1780         protected Object invoke_F7(Object a0, Object a1, Object a2, Object a3,
       
  1781                                    Object a4, Object a5, Object a6, Object a7,
       
  1782                                    Object a8, Object a9, Object a10, Object a11,
       
  1783                                    Object a12) throws Throwable {
       
  1784             return target.invokeExact(filter.invokeExact(a0, a1, a2, a3, a4, a5, a6),
       
  1785                                  a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12); }
       
  1786         protected Object invoke_F8(Object a0, Object a1, Object a2, Object a3,
       
  1787                                    Object a4, Object a5, Object a6, Object a7,
       
  1788                                    Object a8, Object a9, Object a10, Object a11,
       
  1789                                    Object a12) throws Throwable {
       
  1790             return target.invokeExact(filter.invokeExact(a0, a1, a2, a3, a4, a5, a6, a7),
       
  1791                                  a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12); }
       
  1792         protected Object invoke_F9(Object a0, Object a1, Object a2, Object a3,
       
  1793                                    Object a4, Object a5, Object a6, Object a7,
       
  1794                                    Object a8, Object a9, Object a10, Object a11,
       
  1795                                    Object a12) throws Throwable {
       
  1796             return target.invokeExact(filter.invokeExact(a0, a1, a2, a3, a4, a5, a6, a7, a8),
       
  1797                                  a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12); }
       
  1798         protected Object invoke_F10(Object a0, Object a1, Object a2, Object a3,
       
  1799                                     Object a4, Object a5, Object a6, Object a7,
       
  1800                                     Object a8, Object a9, Object a10, Object a11,
       
  1801                                     Object a12) throws Throwable {
       
  1802             return target.invokeExact(filter.invokeExact(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9),
       
  1803                                  a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12); }
       
  1804         protected Object invoke_F11(Object a0, Object a1, Object a2, Object a3,
       
  1805                                     Object a4, Object a5, Object a6, Object a7,
       
  1806                                     Object a8, Object a9, Object a10, Object a11,
       
  1807                                     Object a12) throws Throwable {
       
  1808             return target.invokeExact(filter.invokeExact(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9,
       
  1809                                  a10),
       
  1810                                  a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12); }
       
  1811         protected Object invoke_F12(Object a0, Object a1, Object a2, Object a3,
       
  1812                                     Object a4, Object a5, Object a6, Object a7,
       
  1813                                     Object a8, Object a9, Object a10, Object a11,
       
  1814                                     Object a12) throws Throwable {
       
  1815             return target.invokeExact(filter.invokeExact(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9,
       
  1816                                  a10, a11),
       
  1817                                  a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12); }
       
  1818         protected Object invoke_F13(Object a0, Object a1, Object a2, Object a3,
       
  1819                                    Object a4, Object a5, Object a6, Object a7,
       
  1820                                    Object a8, Object a9, Object a10, Object a11,
       
  1821                                    Object a12) throws Throwable {
       
  1822             return target.invokeExact(filter.invokeExact(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12),
       
  1823                                  a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12); }
       
  1824         protected Object invoke_C0(Object a0, Object a1, Object a2, Object a3,
       
  1825                                    Object a4, Object a5, Object a6, Object a7,
       
  1826                                    Object a8, Object a9, Object a10, Object a11,
       
  1827                                    Object a12) throws Throwable {
       
  1828             return target.invokeExact(filter.invokeExact(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9,
       
  1829                                  a10, a11, a12)); }
       
  1830         protected Object invoke_C1(Object a0, Object a1, Object a2, Object a3,
       
  1831                                    Object a4, Object a5, Object a6, Object a7,
       
  1832                                    Object a8, Object a9, Object a10, Object a11,
       
  1833                                    Object a12) throws Throwable {
       
  1834             return target.invokeExact(a0, filter.invokeExact(a1, a2, a3, a4, a5, a6, a7, a8, a9,
       
  1835                                  a10, a11, a12)); }
       
  1836         protected Object invoke_C2(Object a0, Object a1, Object a2, Object a3,
       
  1837                                    Object a4, Object a5, Object a6, Object a7,
       
  1838                                    Object a8, Object a9, Object a10, Object a11,
       
  1839                                    Object a12) throws Throwable {
       
  1840             return target.invokeExact(a0, a1, filter.invokeExact(a2, a3, a4, a5, a6, a7, a8, a9,
       
  1841                                  a10, a11, a12)); }
       
  1842         protected Object invoke_C3(Object a0, Object a1, Object a2, Object a3,
       
  1843                                    Object a4, Object a5, Object a6, Object a7,
       
  1844                                    Object a8, Object a9, Object a10, Object a11,
       
  1845                                    Object a12) throws Throwable {
       
  1846             return target.invokeExact(a0, a1, a2, filter.invokeExact(a3, a4, a5, a6, a7, a8, a9,
       
  1847                                  a10, a11, a12)); }
       
  1848         protected Object invoke_C4(Object a0, Object a1, Object a2, Object a3,
       
  1849                                    Object a4, Object a5, Object a6, Object a7,
       
  1850                                    Object a8, Object a9, Object a10, Object a11,
       
  1851                                    Object a12) throws Throwable {
       
  1852             return target.invokeExact(a0, a1, a2, a3, filter.invokeExact(a4, a5, a6, a7, a8, a9,
       
  1853                                  a10, a11, a12)); }
       
  1854         protected Object invoke_C5(Object a0, Object a1, Object a2, Object a3,
       
  1855                                    Object a4, Object a5, Object a6, Object a7,
       
  1856                                    Object a8, Object a9, Object a10, Object a11,
       
  1857                                    Object a12) throws Throwable {
       
  1858             return target.invokeExact(a0, a1, a2, a3, a4, filter.invokeExact(a5, a6, a7, a8, a9,
       
  1859                                  a10, a11, a12)); }
       
  1860         protected Object invoke_C6(Object a0, Object a1, Object a2, Object a3,
       
  1861                                    Object a4, Object a5, Object a6, Object a7,
       
  1862                                    Object a8, Object a9, Object a10, Object a11,
       
  1863                                    Object a12) throws Throwable {
       
  1864             return target.invokeExact(a0, a1, a2, a3, a4, a5, filter.invokeExact(a6, a7, a8, a9,
       
  1865                                  a10, a11, a12)); }
       
  1866         protected Object invoke_C7(Object a0, Object a1, Object a2, Object a3,
       
  1867                                    Object a4, Object a5, Object a6, Object a7,
       
  1868                                    Object a8, Object a9, Object a10, Object a11,
       
  1869                                    Object a12) throws Throwable {
       
  1870             return target.invokeExact(a0, a1, a2, a3, a4, a5, a6, filter.invokeExact(a7, a8, a9,
       
  1871                                  a10, a11, a12)); }
       
  1872         protected Object invoke_C8(Object a0, Object a1, Object a2, Object a3,
       
  1873                                    Object a4, Object a5, Object a6, Object a7,
       
  1874                                    Object a8, Object a9, Object a10, Object a11,
       
  1875                                    Object a12) throws Throwable {
       
  1876             return target.invokeExact(a0, a1, a2, a3, a4, a5, a6, a7, filter.invokeExact(a8, a9,
       
  1877                                  a10, a11, a12)); }
       
  1878         protected Object invoke_C9(Object a0, Object a1, Object a2, Object a3,
       
  1879                                    Object a4, Object a5, Object a6, Object a7,
       
  1880                                    Object a8, Object a9, Object a10, Object a11,
       
  1881                                    Object a12) throws Throwable {
       
  1882             return target.invokeExact(a0, a1, a2, a3, a4, a5, a6, a7, a8, filter.invokeExact(a9,
       
  1883                                  a10, a11, a12)); }
       
  1884         protected Object invoke_C10(Object a0, Object a1, Object a2, Object a3,
       
  1885                                     Object a4, Object a5, Object a6, Object a7,
       
  1886                                     Object a8, Object a9, Object a10, Object a11,
       
  1887                                     Object a12) throws Throwable {
       
  1888             return target.invokeExact(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, filter.invokeExact(a10, a11, a12)); }
       
  1889         protected Object invoke_C11(Object a0, Object a1, Object a2, Object a3,
       
  1890                                     Object a4, Object a5, Object a6, Object a7,
       
  1891                                     Object a8, Object a9, Object a10, Object a11,
       
  1892                                     Object a12) throws Throwable {
       
  1893             return target.invokeExact(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9,
       
  1894                                  a10, filter.invokeExact(a11, a12)); }
       
  1895         protected Object invoke_C12(Object a0, Object a1, Object a2, Object a3,
       
  1896                                     Object a4, Object a5, Object a6, Object a7,
       
  1897                                     Object a8, Object a9, Object a10, Object a11,
       
  1898                                     Object a12) throws Throwable {
       
  1899             return target.invokeExact(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9,
       
  1900                                  a10, a11, filter.invokeExact(a12)); }
       
  1901         protected Object invoke_C13(Object a0, Object a1, Object a2, Object a3,
       
  1902                                    Object a4, Object a5, Object a6, Object a7,
       
  1903                                    Object a8, Object a9, Object a10, Object a11,
       
  1904                                    Object a12) throws Throwable {
       
  1905             return target.invokeExact(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, filter.invokeExact()); }
       
  1906         protected Object invoke_Y0(Object a0, Object a1, Object a2, Object a3,
       
  1907                                    Object a4, Object a5, Object a6, Object a7,
       
  1908                                    Object a8, Object a9, Object a10, Object a11,
       
  1909                                    Object a12) throws Throwable {
       
  1910             Object[] av = { a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12 };
       
  1911             filter.invokeExact(av); // make the flyby
       
  1912             return target.invokeExact(av[0], av[1], av[2], av[3], av[4], av[5], av[6], av[7], av[8], av[9], av[10], av[11], av[12]); }
       
  1913     }
       
  1914     static class F14 extends Adapter {
       
  1915         protected F14(MethodHandle entryPoint) { super(entryPoint); }  // to build prototype
       
  1916         protected F14(MethodHandle e, MethodHandle f, MethodHandle t) {
       
  1917             super(e, f, t); }
       
  1918         protected F14 makeInstance(MethodHandle e, MethodHandle f, MethodHandle t) {
       
  1919             return new F14(e, f, t); }
       
  1920         protected Object invoke_V0(Object a0, Object a1, Object a2, Object a3,
       
  1921                                    Object a4, Object a5, Object a6, Object a7,
       
  1922                                    Object a8, Object a9, Object a10, Object a11,
       
  1923                                    Object a12, Object a13) throws Throwable {
       
  1924             return target.invokeExact(filter.invokeExact(a0), a1, a2, a3, a4, a5, a6, a7, a8, a9,
       
  1925                                  a10, a11, a12, a13); }
       
  1926         protected Object invoke_V1(Object a0, Object a1, Object a2, Object a3,
       
  1927                                    Object a4, Object a5, Object a6, Object a7,
       
  1928                                    Object a8, Object a9, Object a10, Object a11,
       
  1929                                    Object a12, Object a13) throws Throwable {
       
  1930             return target.invokeExact(a0, filter.invokeExact(a1), a2, a3, a4, a5, a6, a7, a8, a9,
       
  1931                                  a10, a11, a12, a13); }
       
  1932         protected Object invoke_V2(Object a0, Object a1, Object a2, Object a3,
       
  1933                                    Object a4, Object a5, Object a6, Object a7,
       
  1934                                    Object a8, Object a9, Object a10, Object a11,
       
  1935                                    Object a12, Object a13) throws Throwable {
       
  1936             return target.invokeExact(a0, a1, filter.invokeExact(a2), a3, a4, a5, a6, a7, a8, a9,
       
  1937                                  a10, a11, a12, a13); }
       
  1938         protected Object invoke_V3(Object a0, Object a1, Object a2, Object a3,
       
  1939                                    Object a4, Object a5, Object a6, Object a7,
       
  1940                                    Object a8, Object a9, Object a10, Object a11,
       
  1941                                    Object a12, Object a13) throws Throwable {
       
  1942             return target.invokeExact(a0, a1, a2, filter.invokeExact(a3), a4, a5, a6, a7, a8, a9,
       
  1943                                  a10, a11, a12, a13); }
       
  1944         protected Object invoke_V4(Object a0, Object a1, Object a2, Object a3,
       
  1945                                    Object a4, Object a5, Object a6, Object a7,
       
  1946                                    Object a8, Object a9, Object a10, Object a11,
       
  1947                                    Object a12, Object a13) throws Throwable {
       
  1948             return target.invokeExact(a0, a1, a2, a3, filter.invokeExact(a4), a5, a6, a7, a8, a9,
       
  1949                                  a10, a11, a12, a13); }
       
  1950         protected Object invoke_V5(Object a0, Object a1, Object a2, Object a3,
       
  1951                                    Object a4, Object a5, Object a6, Object a7,
       
  1952                                    Object a8, Object a9, Object a10, Object a11,
       
  1953                                    Object a12, Object a13) throws Throwable {
       
  1954             return target.invokeExact(a0, a1, a2, a3, a4, filter.invokeExact(a5), a6, a7, a8, a9,
       
  1955                                  a10, a11, a12, a13); }
       
  1956         protected Object invoke_V6(Object a0, Object a1, Object a2, Object a3,
       
  1957                                    Object a4, Object a5, Object a6, Object a7,
       
  1958                                    Object a8, Object a9, Object a10, Object a11,
       
  1959                                    Object a12, Object a13) throws Throwable {
       
  1960             return target.invokeExact(a0, a1, a2, a3, a4, a5, filter.invokeExact(a6), a7, a8, a9,
       
  1961                                  a10, a11, a12, a13); }
       
  1962         protected Object invoke_V7(Object a0, Object a1, Object a2, Object a3,
       
  1963                                    Object a4, Object a5, Object a6, Object a7,
       
  1964                                    Object a8, Object a9, Object a10, Object a11,
       
  1965                                    Object a12, Object a13) throws Throwable {
       
  1966             return target.invokeExact(a0, a1, a2, a3, a4, a5, a6, filter.invokeExact(a7), a8, a9,
       
  1967                                  a10, a11, a12, a13); }
       
  1968         protected Object invoke_V8(Object a0, Object a1, Object a2, Object a3,
       
  1969                                    Object a4, Object a5, Object a6, Object a7,
       
  1970                                    Object a8, Object a9, Object a10, Object a11,
       
  1971                                    Object a12, Object a13) throws Throwable {
       
  1972             return target.invokeExact(a0, a1, a2, a3, a4, a5, a6, a7, filter.invokeExact(a8), a9,
       
  1973                                  a10, a11, a12, a13); }
       
  1974         protected Object invoke_V9(Object a0, Object a1, Object a2, Object a3,
       
  1975                                    Object a4, Object a5, Object a6, Object a7,
       
  1976                                    Object a8, Object a9, Object a10, Object a11,
       
  1977                                    Object a12, Object a13) throws Throwable {
       
  1978             return target.invokeExact(a0, a1, a2, a3, a4, a5, a6, a7, a8, filter.invokeExact(a9),
       
  1979                                  a10, a11, a12, a13); }
       
  1980         protected Object invoke_V10(Object a0, Object a1, Object a2, Object a3,
       
  1981                                     Object a4, Object a5, Object a6, Object a7,
       
  1982                                     Object a8, Object a9, Object a10, Object a11,
       
  1983                                     Object a12, Object a13) throws Throwable {
       
  1984             return target.invokeExact(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9,
       
  1985                                  filter.invokeExact(a10), a11, a12, a13); }
       
  1986         protected Object invoke_V11(Object a0, Object a1, Object a2, Object a3,
       
  1987                                     Object a4, Object a5, Object a6, Object a7,
       
  1988                                     Object a8, Object a9, Object a10, Object a11,
       
  1989                                     Object a12, Object a13) throws Throwable {
       
  1990             return target.invokeExact(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9,
       
  1991                                  a10, filter.invokeExact(a11), a12, a13); }
       
  1992         protected Object invoke_V12(Object a0, Object a1, Object a2, Object a3,
       
  1993                                     Object a4, Object a5, Object a6, Object a7,
       
  1994                                     Object a8, Object a9, Object a10, Object a11,
       
  1995                                     Object a12, Object a13) throws Throwable {
       
  1996             return target.invokeExact(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9,
       
  1997                                  a10, a11, filter.invokeExact(a12), a13); }
       
  1998         protected Object invoke_V13(Object a0, Object a1, Object a2, Object a3,
       
  1999                                     Object a4, Object a5, Object a6, Object a7,
       
  2000                                     Object a8, Object a9, Object a10, Object a11,
       
  2001                                     Object a12, Object a13) throws Throwable {
       
  2002             return target.invokeExact(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9,
       
  2003                                  a10, a11, a12, filter.invokeExact(a13)); }
       
  2004         protected Object invoke_F0(Object a0, Object a1, Object a2, Object a3,
       
  2005                                    Object a4, Object a5, Object a6, Object a7,
       
  2006                                    Object a8, Object a9, Object a10, Object a11,
       
  2007                                    Object a12, Object a13) throws Throwable {
       
  2008             return target.invokeExact(filter.invokeExact(),
       
  2009                                  a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13); }
       
  2010         protected Object invoke_F1(Object a0, Object a1, Object a2, Object a3,
       
  2011                                    Object a4, Object a5, Object a6, Object a7,
       
  2012                                    Object a8, Object a9, Object a10, Object a11,
       
  2013                                    Object a12, Object a13) throws Throwable {
       
  2014             return target.invokeExact(filter.invokeExact(a0),
       
  2015                                  a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13); }
       
  2016         protected Object invoke_F2(Object a0, Object a1, Object a2, Object a3,
       
  2017                                    Object a4, Object a5, Object a6, Object a7,
       
  2018                                    Object a8, Object a9, Object a10, Object a11,
       
  2019                                    Object a12, Object a13) throws Throwable {
       
  2020             return target.invokeExact(filter.invokeExact(a0, a1),
       
  2021                                  a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13); }
       
  2022         protected Object invoke_F3(Object a0, Object a1, Object a2, Object a3,
       
  2023                                    Object a4, Object a5, Object a6, Object a7,
       
  2024                                    Object a8, Object a9, Object a10, Object a11,
       
  2025                                    Object a12, Object a13) throws Throwable {
       
  2026             return target.invokeExact(filter.invokeExact(a0, a1, a2),
       
  2027                                  a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13); }
       
  2028         protected Object invoke_F4(Object a0, Object a1, Object a2, Object a3,
       
  2029                                    Object a4, Object a5, Object a6, Object a7,
       
  2030                                    Object a8, Object a9, Object a10, Object a11,
       
  2031                                    Object a12, Object a13) throws Throwable {
       
  2032             return target.invokeExact(filter.invokeExact(a0, a1, a2, a3),
       
  2033                                  a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13); }
       
  2034         protected Object invoke_F5(Object a0, Object a1, Object a2, Object a3,
       
  2035                                    Object a4, Object a5, Object a6, Object a7,
       
  2036                                    Object a8, Object a9, Object a10, Object a11,
       
  2037                                    Object a12, Object a13) throws Throwable {
       
  2038             return target.invokeExact(filter.invokeExact(a0, a1, a2, a3, a4),
       
  2039                                  a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13); }
       
  2040         protected Object invoke_F6(Object a0, Object a1, Object a2, Object a3,
       
  2041                                    Object a4, Object a5, Object a6, Object a7,
       
  2042                                    Object a8, Object a9, Object a10, Object a11,
       
  2043                                    Object a12, Object a13) throws Throwable {
       
  2044             return target.invokeExact(filter.invokeExact(a0, a1, a2, a3, a4, a5),
       
  2045                                  a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13); }
       
  2046         protected Object invoke_F7(Object a0, Object a1, Object a2, Object a3,
       
  2047                                    Object a4, Object a5, Object a6, Object a7,
       
  2048                                    Object a8, Object a9, Object a10, Object a11,
       
  2049                                    Object a12, Object a13) throws Throwable {
       
  2050             return target.invokeExact(filter.invokeExact(a0, a1, a2, a3, a4, a5, a6),
       
  2051                                  a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13); }
       
  2052         protected Object invoke_F8(Object a0, Object a1, Object a2, Object a3,
       
  2053                                    Object a4, Object a5, Object a6, Object a7,
       
  2054                                    Object a8, Object a9, Object a10, Object a11,
       
  2055                                    Object a12, Object a13) throws Throwable {
       
  2056             return target.invokeExact(filter.invokeExact(a0, a1, a2, a3, a4, a5, a6, a7),
       
  2057                                  a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13); }
       
  2058         protected Object invoke_F9(Object a0, Object a1, Object a2, Object a3,
       
  2059                                    Object a4, Object a5, Object a6, Object a7,
       
  2060                                    Object a8, Object a9, Object a10, Object a11,
       
  2061                                    Object a12, Object a13) throws Throwable {
       
  2062             return target.invokeExact(filter.invokeExact(a0, a1, a2, a3, a4, a5, a6, a7, a8),
       
  2063                                  a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13); }
       
  2064         protected Object invoke_F10(Object a0, Object a1, Object a2, Object a3,
       
  2065                                     Object a4, Object a5, Object a6, Object a7,
       
  2066                                     Object a8, Object a9, Object a10, Object a11,
       
  2067                                     Object a12, Object a13) throws Throwable {
       
  2068             return target.invokeExact(filter.invokeExact(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9),
       
  2069                                  a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13); }
       
  2070         protected Object invoke_F11(Object a0, Object a1, Object a2, Object a3,
       
  2071                                     Object a4, Object a5, Object a6, Object a7,
       
  2072                                     Object a8, Object a9, Object a10, Object a11,
       
  2073                                     Object a12, Object a13) throws Throwable {
       
  2074             return target.invokeExact(filter.invokeExact(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9,
       
  2075                                  a10),
       
  2076                                  a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13); }
       
  2077         protected Object invoke_F12(Object a0, Object a1, Object a2, Object a3,
       
  2078                                     Object a4, Object a5, Object a6, Object a7,
       
  2079                                     Object a8, Object a9, Object a10, Object a11,
       
  2080                                     Object a12, Object a13) throws Throwable {
       
  2081             return target.invokeExact(filter.invokeExact(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9,
       
  2082                                  a10, a11),
       
  2083                                  a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13); }
       
  2084         protected Object invoke_F13(Object a0, Object a1, Object a2, Object a3,
       
  2085                                     Object a4, Object a5, Object a6, Object a7,
       
  2086                                     Object a8, Object a9, Object a10, Object a11,
       
  2087                                     Object a12, Object a13) throws Throwable {
       
  2088             return target.invokeExact(filter.invokeExact(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9,
       
  2089                                  a10, a11, a12),
       
  2090                                  a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13); }
       
  2091         protected Object invoke_F14(Object a0, Object a1, Object a2, Object a3,
       
  2092                                    Object a4, Object a5, Object a6, Object a7,
       
  2093                                    Object a8, Object a9, Object a10, Object a11,
       
  2094                                    Object a12, Object a13) throws Throwable {
       
  2095             return target.invokeExact(filter.invokeExact(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13),
       
  2096                                  a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13); }
       
  2097         protected Object invoke_C0(Object a0, Object a1, Object a2, Object a3,
       
  2098                                    Object a4, Object a5, Object a6, Object a7,
       
  2099                                    Object a8, Object a9, Object a10, Object a11,
       
  2100                                    Object a12, Object a13) throws Throwable {
       
  2101             return target.invokeExact(filter.invokeExact(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9,
       
  2102                                  a10, a11, a12, a13)); }
       
  2103         protected Object invoke_C1(Object a0, Object a1, Object a2, Object a3,
       
  2104                                    Object a4, Object a5, Object a6, Object a7,
       
  2105                                    Object a8, Object a9, Object a10, Object a11,
       
  2106                                    Object a12, Object a13) throws Throwable {
       
  2107             return target.invokeExact(a0, filter.invokeExact(a1, a2, a3, a4, a5, a6, a7, a8, a9,
       
  2108                                  a10, a11, a12, a13)); }
       
  2109         protected Object invoke_C2(Object a0, Object a1, Object a2, Object a3,
       
  2110                                    Object a4, Object a5, Object a6, Object a7,
       
  2111                                    Object a8, Object a9, Object a10, Object a11,
       
  2112                                    Object a12, Object a13) throws Throwable {
       
  2113             return target.invokeExact(a0, a1, filter.invokeExact(a2, a3, a4, a5, a6, a7, a8, a9,
       
  2114                                  a10, a11, a12, a13)); }
       
  2115         protected Object invoke_C3(Object a0, Object a1, Object a2, Object a3,
       
  2116                                    Object a4, Object a5, Object a6, Object a7,
       
  2117                                    Object a8, Object a9, Object a10, Object a11,
       
  2118                                    Object a12, Object a13) throws Throwable {
       
  2119             return target.invokeExact(a0, a1, a2, filter.invokeExact(a3, a4, a5, a6, a7, a8, a9,
       
  2120                                  a10, a11, a12, a13)); }
       
  2121         protected Object invoke_C4(Object a0, Object a1, Object a2, Object a3,
       
  2122                                    Object a4, Object a5, Object a6, Object a7,
       
  2123                                    Object a8, Object a9, Object a10, Object a11,
       
  2124                                    Object a12, Object a13) throws Throwable {
       
  2125             return target.invokeExact(a0, a1, a2, a3, filter.invokeExact(a4, a5, a6, a7, a8, a9,
       
  2126                                  a10, a11, a12, a13)); }
       
  2127         protected Object invoke_C5(Object a0, Object a1, Object a2, Object a3,
       
  2128                                    Object a4, Object a5, Object a6, Object a7,
       
  2129                                    Object a8, Object a9, Object a10, Object a11,
       
  2130                                    Object a12, Object a13) throws Throwable {
       
  2131             return target.invokeExact(a0, a1, a2, a3, a4, filter.invokeExact(a5, a6, a7, a8, a9,
       
  2132                                  a10, a11, a12, a13)); }
       
  2133         protected Object invoke_C6(Object a0, Object a1, Object a2, Object a3,
       
  2134                                    Object a4, Object a5, Object a6, Object a7,
       
  2135                                    Object a8, Object a9, Object a10, Object a11,
       
  2136                                    Object a12, Object a13) throws Throwable {
       
  2137             return target.invokeExact(a0, a1, a2, a3, a4, a5, filter.invokeExact(a6, a7, a8, a9,
       
  2138                                  a10, a11, a12, a13)); }
       
  2139         protected Object invoke_C7(Object a0, Object a1, Object a2, Object a3,
       
  2140                                    Object a4, Object a5, Object a6, Object a7,
       
  2141                                    Object a8, Object a9, Object a10, Object a11,
       
  2142                                    Object a12, Object a13) throws Throwable {
       
  2143             return target.invokeExact(a0, a1, a2, a3, a4, a5, a6, filter.invokeExact(a7, a8, a9,
       
  2144                                  a10, a11, a12, a13)); }
       
  2145         protected Object invoke_C8(Object a0, Object a1, Object a2, Object a3,
       
  2146                                    Object a4, Object a5, Object a6, Object a7,
       
  2147                                    Object a8, Object a9, Object a10, Object a11,
       
  2148                                    Object a12, Object a13) throws Throwable {
       
  2149             return target.invokeExact(a0, a1, a2, a3, a4, a5, a6, a7, filter.invokeExact(a8, a9,
       
  2150                                  a10, a11, a12, a13)); }
       
  2151         protected Object invoke_C9(Object a0, Object a1, Object a2, Object a3,
       
  2152                                    Object a4, Object a5, Object a6, Object a7,
       
  2153                                    Object a8, Object a9, Object a10, Object a11,
       
  2154                                    Object a12, Object a13) throws Throwable {
       
  2155             return target.invokeExact(a0, a1, a2, a3, a4, a5, a6, a7, a8, filter.invokeExact(a9,
       
  2156                                  a10, a11, a12, a13)); }
       
  2157         protected Object invoke_C10(Object a0, Object a1, Object a2, Object a3,
       
  2158                                     Object a4, Object a5, Object a6, Object a7,
       
  2159                                     Object a8, Object a9, Object a10, Object a11,
       
  2160                                     Object a12, Object a13) throws Throwable {
       
  2161             return target.invokeExact(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, filter.invokeExact(a10, a11, a12, a13)); }
       
  2162         protected Object invoke_C11(Object a0, Object a1, Object a2, Object a3,
       
  2163                                     Object a4, Object a5, Object a6, Object a7,
       
  2164                                     Object a8, Object a9, Object a10, Object a11,
       
  2165                                     Object a12, Object a13) throws Throwable {
       
  2166             return target.invokeExact(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9,
       
  2167                                  a10, filter.invokeExact(a11, a12, a13)); }
       
  2168         protected Object invoke_C12(Object a0, Object a1, Object a2, Object a3,
       
  2169                                     Object a4, Object a5, Object a6, Object a7,
       
  2170                                     Object a8, Object a9, Object a10, Object a11,
       
  2171                                     Object a12, Object a13) throws Throwable {
       
  2172             return target.invokeExact(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9,
       
  2173                                  a10, a11, filter.invokeExact(a12, a13)); }
       
  2174         protected Object invoke_C13(Object a0, Object a1, Object a2, Object a3,
       
  2175                                     Object a4, Object a5, Object a6, Object a7,
       
  2176                                     Object a8, Object a9, Object a10, Object a11,
       
  2177                                     Object a12, Object a13) throws Throwable {
       
  2178             return target.invokeExact(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9,
       
  2179                                  a10, a11, a12, filter.invokeExact(a13)); }
       
  2180         protected Object invoke_C14(Object a0, Object a1, Object a2, Object a3,
       
  2181                                    Object a4, Object a5, Object a6, Object a7,
       
  2182                                    Object a8, Object a9, Object a10, Object a11,
       
  2183                                    Object a12, Object a13) throws Throwable {
       
  2184             return target.invokeExact(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, filter.invokeExact()); }
       
  2185         protected Object invoke_Y0(Object a0, Object a1, Object a2, Object a3,
       
  2186                                    Object a4, Object a5, Object a6, Object a7,
       
  2187                                    Object a8, Object a9, Object a10, Object a11,
       
  2188                                    Object a12, Object a13) throws Throwable {
       
  2189             Object[] av = { a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13 };
       
  2190             filter.invokeExact(av); // make the flyby
       
  2191             return target.invokeExact(av[0], av[1], av[2], av[3], av[4], av[5], av[6], av[7], av[8], av[9], av[10], av[11], av[12], av[13]); }
       
  2192     }
       
  2193     static class F15 extends Adapter {
       
  2194         protected F15(MethodHandle entryPoint) { super(entryPoint); }  // to build prototype
       
  2195         protected F15(MethodHandle e, MethodHandle f, MethodHandle t) {
       
  2196             super(e, f, t); }
       
  2197         protected F15 makeInstance(MethodHandle e, MethodHandle f, MethodHandle t) {
       
  2198             return new F15(e, f, t); }
       
  2199         protected Object invoke_V0(Object a0, Object a1, Object a2, Object a3,
       
  2200                                    Object a4, Object a5, Object a6, Object a7,
       
  2201                                    Object a8, Object a9, Object a10, Object a11,
       
  2202                                    Object a12, Object a13, Object a14) throws Throwable {
       
  2203             return target.invokeExact(filter.invokeExact(a0), a1, a2, a3, a4, a5, a6, a7, a8, a9,
       
  2204                                  a10, a11, a12, a13, a14); }
       
  2205         protected Object invoke_V1(Object a0, Object a1, Object a2, Object a3,
       
  2206                                    Object a4, Object a5, Object a6, Object a7,
       
  2207                                    Object a8, Object a9, Object a10, Object a11,
       
  2208                                    Object a12, Object a13, Object a14) throws Throwable {
       
  2209             return target.invokeExact(a0, filter.invokeExact(a1), a2, a3, a4, a5, a6, a7, a8, a9,
       
  2210                                  a10, a11, a12, a13, a14); }
       
  2211         protected Object invoke_V2(Object a0, Object a1, Object a2, Object a3,
       
  2212                                    Object a4, Object a5, Object a6, Object a7,
       
  2213                                    Object a8, Object a9, Object a10, Object a11,
       
  2214                                    Object a12, Object a13, Object a14) throws Throwable {
       
  2215             return target.invokeExact(a0, a1, filter.invokeExact(a2), a3, a4, a5, a6, a7, a8, a9,
       
  2216                                  a10, a11, a12, a13, a14); }
       
  2217         protected Object invoke_V3(Object a0, Object a1, Object a2, Object a3,
       
  2218                                    Object a4, Object a5, Object a6, Object a7,
       
  2219                                    Object a8, Object a9, Object a10, Object a11,
       
  2220                                    Object a12, Object a13, Object a14) throws Throwable {
       
  2221             return target.invokeExact(a0, a1, a2, filter.invokeExact(a3), a4, a5, a6, a7, a8, a9,
       
  2222                                  a10, a11, a12, a13, a14); }
       
  2223         protected Object invoke_V4(Object a0, Object a1, Object a2, Object a3,
       
  2224                                    Object a4, Object a5, Object a6, Object a7,
       
  2225                                    Object a8, Object a9, Object a10, Object a11,
       
  2226                                    Object a12, Object a13, Object a14) throws Throwable {
       
  2227             return target.invokeExact(a0, a1, a2, a3, filter.invokeExact(a4), a5, a6, a7, a8, a9,
       
  2228                                  a10, a11, a12, a13, a14); }
       
  2229         protected Object invoke_V5(Object a0, Object a1, Object a2, Object a3,
       
  2230                                    Object a4, Object a5, Object a6, Object a7,
       
  2231                                    Object a8, Object a9, Object a10, Object a11,
       
  2232                                    Object a12, Object a13, Object a14) throws Throwable {
       
  2233             return target.invokeExact(a0, a1, a2, a3, a4, filter.invokeExact(a5), a6, a7, a8, a9,
       
  2234                                  a10, a11, a12, a13, a14); }
       
  2235         protected Object invoke_V6(Object a0, Object a1, Object a2, Object a3,
       
  2236                                    Object a4, Object a5, Object a6, Object a7,
       
  2237                                    Object a8, Object a9, Object a10, Object a11,
       
  2238                                    Object a12, Object a13, Object a14) throws Throwable {
       
  2239             return target.invokeExact(a0, a1, a2, a3, a4, a5, filter.invokeExact(a6), a7, a8, a9,
       
  2240                                  a10, a11, a12, a13, a14); }
       
  2241         protected Object invoke_V7(Object a0, Object a1, Object a2, Object a3,
       
  2242                                    Object a4, Object a5, Object a6, Object a7,
       
  2243                                    Object a8, Object a9, Object a10, Object a11,
       
  2244                                    Object a12, Object a13, Object a14) throws Throwable {
       
  2245             return target.invokeExact(a0, a1, a2, a3, a4, a5, a6, filter.invokeExact(a7), a8, a9,
       
  2246                                  a10, a11, a12, a13, a14); }
       
  2247         protected Object invoke_V8(Object a0, Object a1, Object a2, Object a3,
       
  2248                                    Object a4, Object a5, Object a6, Object a7,
       
  2249                                    Object a8, Object a9, Object a10, Object a11,
       
  2250                                    Object a12, Object a13, Object a14) throws Throwable {
       
  2251             return target.invokeExact(a0, a1, a2, a3, a4, a5, a6, a7, filter.invokeExact(a8), a9,
       
  2252                                  a10, a11, a12, a13, a14); }
       
  2253         protected Object invoke_V9(Object a0, Object a1, Object a2, Object a3,
       
  2254                                    Object a4, Object a5, Object a6, Object a7,
       
  2255                                    Object a8, Object a9, Object a10, Object a11,
       
  2256                                    Object a12, Object a13, Object a14) throws Throwable {
       
  2257             return target.invokeExact(a0, a1, a2, a3, a4, a5, a6, a7, a8, filter.invokeExact(a9),
       
  2258                                  a10, a11, a12, a13, a14); }
       
  2259         protected Object invoke_V10(Object a0, Object a1, Object a2, Object a3,
       
  2260                                     Object a4, Object a5, Object a6, Object a7,
       
  2261                                     Object a8, Object a9, Object a10, Object a11,
       
  2262                                     Object a12, Object a13, Object a14) throws Throwable {
       
  2263             return target.invokeExact(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9,
       
  2264                                  filter.invokeExact(a10), a11, a12, a13, a14); }
       
  2265         protected Object invoke_V11(Object a0, Object a1, Object a2, Object a3,
       
  2266                                     Object a4, Object a5, Object a6, Object a7,
       
  2267                                     Object a8, Object a9, Object a10, Object a11,
       
  2268                                     Object a12, Object a13, Object a14) throws Throwable {
       
  2269             return target.invokeExact(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9,
       
  2270                                  a10, filter.invokeExact(a11), a12, a13, a14); }
       
  2271         protected Object invoke_V12(Object a0, Object a1, Object a2, Object a3,
       
  2272                                     Object a4, Object a5, Object a6, Object a7,
       
  2273                                     Object a8, Object a9, Object a10, Object a11,
       
  2274                                     Object a12, Object a13, Object a14) throws Throwable {
       
  2275             return target.invokeExact(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9,
       
  2276                                  a10, a11, filter.invokeExact(a12), a13, a14); }
       
  2277         protected Object invoke_V13(Object a0, Object a1, Object a2, Object a3,
       
  2278                                     Object a4, Object a5, Object a6, Object a7,
       
  2279                                     Object a8, Object a9, Object a10, Object a11,
       
  2280                                     Object a12, Object a13, Object a14) throws Throwable {
       
  2281             return target.invokeExact(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9,
       
  2282                                  a10, a11, a12, filter.invokeExact(a13), a14); }
       
  2283         protected Object invoke_V14(Object a0, Object a1, Object a2, Object a3,
       
  2284                                     Object a4, Object a5, Object a6, Object a7,
       
  2285                                     Object a8, Object a9, Object a10, Object a11,
       
  2286                                     Object a12, Object a13, Object a14) throws Throwable {
       
  2287             return target.invokeExact(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9,
       
  2288                                  a10, a11, a12, a13, filter.invokeExact(a14)); }
       
  2289         protected Object invoke_F0(Object a0, Object a1, Object a2, Object a3,
       
  2290                                    Object a4, Object a5, Object a6, Object a7,
       
  2291                                    Object a8, Object a9, Object a10, Object a11,
       
  2292                                    Object a12, Object a13, Object a14) throws Throwable {
       
  2293             return target.invokeExact(filter.invokeExact(),
       
  2294                                  a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14); }
       
  2295         protected Object invoke_F1(Object a0, Object a1, Object a2, Object a3,
       
  2296                                    Object a4, Object a5, Object a6, Object a7,
       
  2297                                    Object a8, Object a9, Object a10, Object a11,
       
  2298                                    Object a12, Object a13, Object a14) throws Throwable {
       
  2299             return target.invokeExact(filter.invokeExact(a0),
       
  2300                                  a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14); }
       
  2301         protected Object invoke_F2(Object a0, Object a1, Object a2, Object a3,
       
  2302                                    Object a4, Object a5, Object a6, Object a7,
       
  2303                                    Object a8, Object a9, Object a10, Object a11,
       
  2304                                    Object a12, Object a13, Object a14) throws Throwable {
       
  2305             return target.invokeExact(filter.invokeExact(a0, a1),
       
  2306                                  a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14); }
       
  2307         protected Object invoke_F3(Object a0, Object a1, Object a2, Object a3,
       
  2308                                    Object a4, Object a5, Object a6, Object a7,
       
  2309                                    Object a8, Object a9, Object a10, Object a11,
       
  2310                                    Object a12, Object a13, Object a14) throws Throwable {
       
  2311             return target.invokeExact(filter.invokeExact(a0, a1, a2),
       
  2312                                  a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14); }
       
  2313         protected Object invoke_F4(Object a0, Object a1, Object a2, Object a3,
       
  2314                                    Object a4, Object a5, Object a6, Object a7,
       
  2315                                    Object a8, Object a9, Object a10, Object a11,
       
  2316                                    Object a12, Object a13, Object a14) throws Throwable {
       
  2317             return target.invokeExact(filter.invokeExact(a0, a1, a2, a3),
       
  2318                                  a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14); }
       
  2319         protected Object invoke_F5(Object a0, Object a1, Object a2, Object a3,
       
  2320                                    Object a4, Object a5, Object a6, Object a7,
       
  2321                                    Object a8, Object a9, Object a10, Object a11,
       
  2322                                    Object a12, Object a13, Object a14) throws Throwable {
       
  2323             return target.invokeExact(filter.invokeExact(a0, a1, a2, a3, a4),
       
  2324                                  a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14); }
       
  2325         protected Object invoke_F6(Object a0, Object a1, Object a2, Object a3,
       
  2326                                    Object a4, Object a5, Object a6, Object a7,
       
  2327                                    Object a8, Object a9, Object a10, Object a11,
       
  2328                                    Object a12, Object a13, Object a14) throws Throwable {
       
  2329             return target.invokeExact(filter.invokeExact(a0, a1, a2, a3, a4, a5),
       
  2330                                  a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14); }
       
  2331         protected Object invoke_F7(Object a0, Object a1, Object a2, Object a3,
       
  2332                                    Object a4, Object a5, Object a6, Object a7,
       
  2333                                    Object a8, Object a9, Object a10, Object a11,
       
  2334                                    Object a12, Object a13, Object a14) throws Throwable {
       
  2335             return target.invokeExact(filter.invokeExact(a0, a1, a2, a3, a4, a5, a6),
       
  2336                                  a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14); }
       
  2337         protected Object invoke_F8(Object a0, Object a1, Object a2, Object a3,
       
  2338                                    Object a4, Object a5, Object a6, Object a7,
       
  2339                                    Object a8, Object a9, Object a10, Object a11,
       
  2340                                    Object a12, Object a13, Object a14) throws Throwable {
       
  2341             return target.invokeExact(filter.invokeExact(a0, a1, a2, a3, a4, a5, a6, a7),
       
  2342                                  a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14); }
       
  2343         protected Object invoke_F9(Object a0, Object a1, Object a2, Object a3,
       
  2344                                    Object a4, Object a5, Object a6, Object a7,
       
  2345                                    Object a8, Object a9, Object a10, Object a11,
       
  2346                                    Object a12, Object a13, Object a14) throws Throwable {
       
  2347             return target.invokeExact(filter.invokeExact(a0, a1, a2, a3, a4, a5, a6, a7, a8),
       
  2348                                  a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14); }
       
  2349         protected Object invoke_F10(Object a0, Object a1, Object a2, Object a3,
       
  2350                                     Object a4, Object a5, Object a6, Object a7,
       
  2351                                     Object a8, Object a9, Object a10, Object a11,
       
  2352                                     Object a12, Object a13, Object a14) throws Throwable {
       
  2353             return target.invokeExact(filter.invokeExact(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9),
       
  2354                                  a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14); }
       
  2355         protected Object invoke_F11(Object a0, Object a1, Object a2, Object a3,
       
  2356                                     Object a4, Object a5, Object a6, Object a7,
       
  2357                                     Object a8, Object a9, Object a10, Object a11,
       
  2358                                     Object a12, Object a13, Object a14) throws Throwable {
       
  2359             return target.invokeExact(filter.invokeExact(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9,
       
  2360                                  a10),
       
  2361                                  a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14); }
       
  2362         protected Object invoke_F12(Object a0, Object a1, Object a2, Object a3,
       
  2363                                     Object a4, Object a5, Object a6, Object a7,
       
  2364                                     Object a8, Object a9, Object a10, Object a11,
       
  2365                                     Object a12, Object a13, Object a14) throws Throwable {
       
  2366             return target.invokeExact(filter.invokeExact(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9,
       
  2367                                  a10, a11),
       
  2368                                  a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14); }
       
  2369         protected Object invoke_F13(Object a0, Object a1, Object a2, Object a3,
       
  2370                                     Object a4, Object a5, Object a6, Object a7,
       
  2371                                     Object a8, Object a9, Object a10, Object a11,
       
  2372                                     Object a12, Object a13, Object a14) throws Throwable {
       
  2373             return target.invokeExact(filter.invokeExact(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9,
       
  2374                                  a10, a11, a12),
       
  2375                                  a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14); }
       
  2376         protected Object invoke_F14(Object a0, Object a1, Object a2, Object a3,
       
  2377                                     Object a4, Object a5, Object a6, Object a7,
       
  2378                                     Object a8, Object a9, Object a10, Object a11,
       
  2379                                     Object a12, Object a13, Object a14) throws Throwable {
       
  2380             return target.invokeExact(filter.invokeExact(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9,
       
  2381                                  a10, a11, a12, a13),
       
  2382                                  a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14); }
       
  2383         protected Object invoke_F15(Object a0, Object a1, Object a2, Object a3,
       
  2384                                    Object a4, Object a5, Object a6, Object a7,
       
  2385                                    Object a8, Object a9, Object a10, Object a11,
       
  2386                                    Object a12, Object a13, Object a14) throws Throwable {
       
  2387             return target.invokeExact(filter.invokeExact(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14),
       
  2388                                  a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14); }
       
  2389         protected Object invoke_C0(Object a0, Object a1, Object a2, Object a3,
       
  2390                                    Object a4, Object a5, Object a6, Object a7,
       
  2391                                    Object a8, Object a9, Object a10, Object a11,
       
  2392                                    Object a12, Object a13, Object a14) throws Throwable {
       
  2393             return target.invokeExact(filter.invokeExact(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9,
       
  2394                                  a10, a11, a12, a13, a14)); }
       
  2395         protected Object invoke_C1(Object a0, Object a1, Object a2, Object a3,
       
  2396                                    Object a4, Object a5, Object a6, Object a7,
       
  2397                                    Object a8, Object a9, Object a10, Object a11,
       
  2398                                    Object a12, Object a13, Object a14) throws Throwable {
       
  2399             return target.invokeExact(a0, filter.invokeExact(a1, a2, a3, a4, a5, a6, a7, a8, a9,
       
  2400                                  a10, a11, a12, a13, a14)); }
       
  2401         protected Object invoke_C2(Object a0, Object a1, Object a2, Object a3,
       
  2402                                    Object a4, Object a5, Object a6, Object a7,
       
  2403                                    Object a8, Object a9, Object a10, Object a11,
       
  2404                                    Object a12, Object a13, Object a14) throws Throwable {
       
  2405             return target.invokeExact(a0, a1, filter.invokeExact(a2, a3, a4, a5, a6, a7, a8, a9,
       
  2406                                  a10, a11, a12, a13, a14)); }
       
  2407         protected Object invoke_C3(Object a0, Object a1, Object a2, Object a3,
       
  2408                                    Object a4, Object a5, Object a6, Object a7,
       
  2409                                    Object a8, Object a9, Object a10, Object a11,
       
  2410                                    Object a12, Object a13, Object a14) throws Throwable {
       
  2411             return target.invokeExact(a0, a1, a2, filter.invokeExact(a3, a4, a5, a6, a7, a8, a9,
       
  2412                                  a10, a11, a12, a13, a14)); }
       
  2413         protected Object invoke_C4(Object a0, Object a1, Object a2, Object a3,
       
  2414                                    Object a4, Object a5, Object a6, Object a7,
       
  2415                                    Object a8, Object a9, Object a10, Object a11,
       
  2416                                    Object a12, Object a13, Object a14) throws Throwable {
       
  2417             return target.invokeExact(a0, a1, a2, a3, filter.invokeExact(a4, a5, a6, a7, a8, a9,
       
  2418                                  a10, a11, a12, a13, a14)); }
       
  2419         protected Object invoke_C5(Object a0, Object a1, Object a2, Object a3,
       
  2420                                    Object a4, Object a5, Object a6, Object a7,
       
  2421                                    Object a8, Object a9, Object a10, Object a11,
       
  2422                                    Object a12, Object a13, Object a14) throws Throwable {
       
  2423             return target.invokeExact(a0, a1, a2, a3, a4, filter.invokeExact(a5, a6, a7, a8, a9,
       
  2424                                  a10, a11, a12, a13, a14)); }
       
  2425         protected Object invoke_C6(Object a0, Object a1, Object a2, Object a3,
       
  2426                                    Object a4, Object a5, Object a6, Object a7,
       
  2427                                    Object a8, Object a9, Object a10, Object a11,
       
  2428                                    Object a12, Object a13, Object a14) throws Throwable {
       
  2429             return target.invokeExact(a0, a1, a2, a3, a4, a5, filter.invokeExact(a6, a7, a8, a9,
       
  2430                                  a10, a11, a12, a13, a14)); }
       
  2431         protected Object invoke_C7(Object a0, Object a1, Object a2, Object a3,
       
  2432                                    Object a4, Object a5, Object a6, Object a7,
       
  2433                                    Object a8, Object a9, Object a10, Object a11,
       
  2434                                    Object a12, Object a13, Object a14) throws Throwable {
       
  2435             return target.invokeExact(a0, a1, a2, a3, a4, a5, a6, filter.invokeExact(a7, a8, a9,
       
  2436                                  a10, a11, a12, a13, a14)); }
       
  2437         protected Object invoke_C8(Object a0, Object a1, Object a2, Object a3,
       
  2438                                    Object a4, Object a5, Object a6, Object a7,
       
  2439                                    Object a8, Object a9, Object a10, Object a11,
       
  2440                                    Object a12, Object a13, Object a14) throws Throwable {
       
  2441             return target.invokeExact(a0, a1, a2, a3, a4, a5, a6, a7, filter.invokeExact(a8, a9,
       
  2442                                  a10, a11, a12, a13, a14)); }
       
  2443         protected Object invoke_C9(Object a0, Object a1, Object a2, Object a3,
       
  2444                                    Object a4, Object a5, Object a6, Object a7,
       
  2445                                    Object a8, Object a9, Object a10, Object a11,
       
  2446                                    Object a12, Object a13, Object a14) throws Throwable {
       
  2447             return target.invokeExact(a0, a1, a2, a3, a4, a5, a6, a7, a8, filter.invokeExact(a9,
       
  2448                                  a10, a11, a12, a13, a14)); }
       
  2449         protected Object invoke_C10(Object a0, Object a1, Object a2, Object a3,
       
  2450                                     Object a4, Object a5, Object a6, Object a7,
       
  2451                                     Object a8, Object a9, Object a10, Object a11,
       
  2452                                     Object a12, Object a13, Object a14) throws Throwable {
       
  2453             return target.invokeExact(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, filter.invokeExact(a10, a11, a12, a13, a14)); }
       
  2454         protected Object invoke_C11(Object a0, Object a1, Object a2, Object a3,
       
  2455                                     Object a4, Object a5, Object a6, Object a7,
       
  2456                                     Object a8, Object a9, Object a10, Object a11,
       
  2457                                     Object a12, Object a13, Object a14) throws Throwable {
       
  2458             return target.invokeExact(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9,
       
  2459                                  a10, filter.invokeExact(a11, a12, a13, a14)); }
       
  2460         protected Object invoke_C12(Object a0, Object a1, Object a2, Object a3,
       
  2461                                     Object a4, Object a5, Object a6, Object a7,
       
  2462                                     Object a8, Object a9, Object a10, Object a11,
       
  2463                                     Object a12, Object a13, Object a14) throws Throwable {
       
  2464             return target.invokeExact(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9,
       
  2465                                  a10, a11, filter.invokeExact(a12, a13, a14)); }
       
  2466         protected Object invoke_C13(Object a0, Object a1, Object a2, Object a3,
       
  2467                                     Object a4, Object a5, Object a6, Object a7,
       
  2468                                     Object a8, Object a9, Object a10, Object a11,
       
  2469                                     Object a12, Object a13, Object a14) throws Throwable {
       
  2470             return target.invokeExact(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9,
       
  2471                                  a10, a11, a12, filter.invokeExact(a13, a14)); }
       
  2472         protected Object invoke_C14(Object a0, Object a1, Object a2, Object a3,
       
  2473                                     Object a4, Object a5, Object a6, Object a7,
       
  2474                                     Object a8, Object a9, Object a10, Object a11,
       
  2475                                     Object a12, Object a13, Object a14) throws Throwable {
       
  2476             return target.invokeExact(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9,
       
  2477                                  a10, a11, a12, a13, filter.invokeExact(a14)); }
       
  2478         protected Object invoke_C15(Object a0, Object a1, Object a2, Object a3,
       
  2479                                    Object a4, Object a5, Object a6, Object a7,
       
  2480                                    Object a8, Object a9, Object a10, Object a11,
       
  2481                                    Object a12, Object a13, Object a14) throws Throwable {
       
  2482             return target.invokeExact(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, filter.invokeExact()); }
       
  2483         protected Object invoke_Y0(Object a0, Object a1, Object a2, Object a3,
       
  2484                                    Object a4, Object a5, Object a6, Object a7,
       
  2485                                    Object a8, Object a9, Object a10, Object a11,
       
  2486                                    Object a12, Object a13, Object a14) throws Throwable {
       
  2487             Object[] av = { a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14 };
       
  2488             filter.invokeExact(av); // make the flyby
       
  2489             return target.invokeExact(av[0], av[1], av[2], av[3], av[4], av[5], av[6], av[7], av[8], av[9], av[10], av[11], av[12], av[13], av[14]); }
       
  2490     }
       
  2491     static class F16 extends Adapter {
       
  2492         protected F16(MethodHandle entryPoint) { super(entryPoint); }  // to build prototype
       
  2493         protected F16(MethodHandle e, MethodHandle f, MethodHandle t) {
       
  2494             super(e, f, t); }
       
  2495         protected F16 makeInstance(MethodHandle e, MethodHandle f, MethodHandle t) {
       
  2496             return new F16(e, f, t); }
       
  2497         protected Object invoke_V0(Object a0, Object a1, Object a2, Object a3,
       
  2498                                    Object a4, Object a5, Object a6, Object a7,
       
  2499                                    Object a8, Object a9, Object a10, Object a11,
       
  2500                                    Object a12, Object a13, Object a14, Object a15) throws Throwable {
       
  2501             return target.invokeExact(filter.invokeExact(a0), a1, a2, a3, a4, a5, a6, a7, a8, a9,
       
  2502                                  a10, a11, a12, a13, a14, a15); }
       
  2503         protected Object invoke_V1(Object a0, Object a1, Object a2, Object a3,
       
  2504                                    Object a4, Object a5, Object a6, Object a7,
       
  2505                                    Object a8, Object a9, Object a10, Object a11,
       
  2506                                    Object a12, Object a13, Object a14, Object a15) throws Throwable {
       
  2507             return target.invokeExact(a0, filter.invokeExact(a1), a2, a3, a4, a5, a6, a7, a8, a9,
       
  2508                                  a10, a11, a12, a13, a14, a15); }
       
  2509         protected Object invoke_V2(Object a0, Object a1, Object a2, Object a3,
       
  2510                                    Object a4, Object a5, Object a6, Object a7,
       
  2511                                    Object a8, Object a9, Object a10, Object a11,
       
  2512                                    Object a12, Object a13, Object a14, Object a15) throws Throwable {
       
  2513             return target.invokeExact(a0, a1, filter.invokeExact(a2), a3, a4, a5, a6, a7, a8, a9,
       
  2514                                  a10, a11, a12, a13, a14, a15); }
       
  2515         protected Object invoke_V3(Object a0, Object a1, Object a2, Object a3,
       
  2516                                    Object a4, Object a5, Object a6, Object a7,
       
  2517                                    Object a8, Object a9, Object a10, Object a11,
       
  2518                                    Object a12, Object a13, Object a14, Object a15) throws Throwable {
       
  2519             return target.invokeExact(a0, a1, a2, filter.invokeExact(a3), a4, a5, a6, a7, a8, a9,
       
  2520                                  a10, a11, a12, a13, a14, a15); }
       
  2521         protected Object invoke_V4(Object a0, Object a1, Object a2, Object a3,
       
  2522                                    Object a4, Object a5, Object a6, Object a7,
       
  2523                                    Object a8, Object a9, Object a10, Object a11,
       
  2524                                    Object a12, Object a13, Object a14, Object a15) throws Throwable {
       
  2525             return target.invokeExact(a0, a1, a2, a3, filter.invokeExact(a4), a5, a6, a7, a8, a9,
       
  2526                                  a10, a11, a12, a13, a14, a15); }
       
  2527         protected Object invoke_V5(Object a0, Object a1, Object a2, Object a3,
       
  2528                                    Object a4, Object a5, Object a6, Object a7,
       
  2529                                    Object a8, Object a9, Object a10, Object a11,
       
  2530                                    Object a12, Object a13, Object a14, Object a15) throws Throwable {
       
  2531             return target.invokeExact(a0, a1, a2, a3, a4, filter.invokeExact(a5), a6, a7, a8, a9,
       
  2532                                  a10, a11, a12, a13, a14, a15); }
       
  2533         protected Object invoke_V6(Object a0, Object a1, Object a2, Object a3,
       
  2534                                    Object a4, Object a5, Object a6, Object a7,
       
  2535                                    Object a8, Object a9, Object a10, Object a11,
       
  2536                                    Object a12, Object a13, Object a14, Object a15) throws Throwable {
       
  2537             return target.invokeExact(a0, a1, a2, a3, a4, a5, filter.invokeExact(a6), a7, a8, a9,
       
  2538                                  a10, a11, a12, a13, a14, a15); }
       
  2539         protected Object invoke_V7(Object a0, Object a1, Object a2, Object a3,
       
  2540                                    Object a4, Object a5, Object a6, Object a7,
       
  2541                                    Object a8, Object a9, Object a10, Object a11,
       
  2542                                    Object a12, Object a13, Object a14, Object a15) throws Throwable {
       
  2543             return target.invokeExact(a0, a1, a2, a3, a4, a5, a6, filter.invokeExact(a7), a8, a9,
       
  2544                                  a10, a11, a12, a13, a14, a15); }
       
  2545         protected Object invoke_V8(Object a0, Object a1, Object a2, Object a3,
       
  2546                                    Object a4, Object a5, Object a6, Object a7,
       
  2547                                    Object a8, Object a9, Object a10, Object a11,
       
  2548                                    Object a12, Object a13, Object a14, Object a15) throws Throwable {
       
  2549             return target.invokeExact(a0, a1, a2, a3, a4, a5, a6, a7, filter.invokeExact(a8), a9,
       
  2550                                  a10, a11, a12, a13, a14, a15); }
       
  2551         protected Object invoke_V9(Object a0, Object a1, Object a2, Object a3,
       
  2552                                    Object a4, Object a5, Object a6, Object a7,
       
  2553                                    Object a8, Object a9, Object a10, Object a11,
       
  2554                                    Object a12, Object a13, Object a14, Object a15) throws Throwable {
       
  2555             return target.invokeExact(a0, a1, a2, a3, a4, a5, a6, a7, a8, filter.invokeExact(a9),
       
  2556                                  a10, a11, a12, a13, a14, a15); }
       
  2557         protected Object invoke_V10(Object a0, Object a1, Object a2, Object a3,
       
  2558                                     Object a4, Object a5, Object a6, Object a7,
       
  2559                                     Object a8, Object a9, Object a10, Object a11,
       
  2560                                     Object a12, Object a13, Object a14, Object a15) throws Throwable {
       
  2561             return target.invokeExact(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9,
       
  2562                                  filter.invokeExact(a10), a11, a12, a13, a14, a15); }
       
  2563         protected Object invoke_V11(Object a0, Object a1, Object a2, Object a3,
       
  2564                                     Object a4, Object a5, Object a6, Object a7,
       
  2565                                     Object a8, Object a9, Object a10, Object a11,
       
  2566                                     Object a12, Object a13, Object a14, Object a15) throws Throwable {
       
  2567             return target.invokeExact(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9,
       
  2568                                  a10, filter.invokeExact(a11), a12, a13, a14, a15); }
       
  2569         protected Object invoke_V12(Object a0, Object a1, Object a2, Object a3,
       
  2570                                     Object a4, Object a5, Object a6, Object a7,
       
  2571                                     Object a8, Object a9, Object a10, Object a11,
       
  2572                                     Object a12, Object a13, Object a14, Object a15) throws Throwable {
       
  2573             return target.invokeExact(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9,
       
  2574                                  a10, a11, filter.invokeExact(a12), a13, a14, a15); }
       
  2575         protected Object invoke_V13(Object a0, Object a1, Object a2, Object a3,
       
  2576                                     Object a4, Object a5, Object a6, Object a7,
       
  2577                                     Object a8, Object a9, Object a10, Object a11,
       
  2578                                     Object a12, Object a13, Object a14, Object a15) throws Throwable {
       
  2579             return target.invokeExact(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9,
       
  2580                                  a10, a11, a12, filter.invokeExact(a13), a14, a15); }
       
  2581         protected Object invoke_V14(Object a0, Object a1, Object a2, Object a3,
       
  2582                                     Object a4, Object a5, Object a6, Object a7,
       
  2583                                     Object a8, Object a9, Object a10, Object a11,
       
  2584                                     Object a12, Object a13, Object a14, Object a15) throws Throwable {
       
  2585             return target.invokeExact(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9,
       
  2586                                  a10, a11, a12, a13, filter.invokeExact(a14), a15); }
       
  2587         protected Object invoke_V15(Object a0, Object a1, Object a2, Object a3,
       
  2588                                     Object a4, Object a5, Object a6, Object a7,
       
  2589                                     Object a8, Object a9, Object a10, Object a11,
       
  2590                                     Object a12, Object a13, Object a14, Object a15) throws Throwable {
       
  2591             return target.invokeExact(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9,
       
  2592                                  a10, a11, a12, a13, a14, filter.invokeExact(a15)); }
       
  2593         protected Object invoke_F0(Object a0, Object a1, Object a2, Object a3,
       
  2594                                    Object a4, Object a5, Object a6, Object a7,
       
  2595                                    Object a8, Object a9, Object a10, Object a11,
       
  2596                                    Object a12, Object a13, Object a14, Object a15) throws Throwable {
       
  2597             return target.invokeExact(filter.invokeExact(),
       
  2598                                  a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15); }
       
  2599         protected Object invoke_F1(Object a0, Object a1, Object a2, Object a3,
       
  2600                                    Object a4, Object a5, Object a6, Object a7,
       
  2601                                    Object a8, Object a9, Object a10, Object a11,
       
  2602                                    Object a12, Object a13, Object a14, Object a15) throws Throwable {
       
  2603             return target.invokeExact(filter.invokeExact(a0),
       
  2604                                  a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15); }
       
  2605         protected Object invoke_F2(Object a0, Object a1, Object a2, Object a3,
       
  2606                                    Object a4, Object a5, Object a6, Object a7,
       
  2607                                    Object a8, Object a9, Object a10, Object a11,
       
  2608                                    Object a12, Object a13, Object a14, Object a15) throws Throwable {
       
  2609             return target.invokeExact(filter.invokeExact(a0, a1),
       
  2610                                  a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15); }
       
  2611         protected Object invoke_F3(Object a0, Object a1, Object a2, Object a3,
       
  2612                                    Object a4, Object a5, Object a6, Object a7,
       
  2613                                    Object a8, Object a9, Object a10, Object a11,
       
  2614                                    Object a12, Object a13, Object a14, Object a15) throws Throwable {
       
  2615             return target.invokeExact(filter.invokeExact(a0, a1, a2),
       
  2616                                  a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15); }
       
  2617         protected Object invoke_F4(Object a0, Object a1, Object a2, Object a3,
       
  2618                                    Object a4, Object a5, Object a6, Object a7,
       
  2619                                    Object a8, Object a9, Object a10, Object a11,
       
  2620                                    Object a12, Object a13, Object a14, Object a15) throws Throwable {
       
  2621             return target.invokeExact(filter.invokeExact(a0, a1, a2, a3),
       
  2622                                  a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15); }
       
  2623         protected Object invoke_F5(Object a0, Object a1, Object a2, Object a3,
       
  2624                                    Object a4, Object a5, Object a6, Object a7,
       
  2625                                    Object a8, Object a9, Object a10, Object a11,
       
  2626                                    Object a12, Object a13, Object a14, Object a15) throws Throwable {
       
  2627             return target.invokeExact(filter.invokeExact(a0, a1, a2, a3, a4),
       
  2628                                  a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15); }
       
  2629         protected Object invoke_F6(Object a0, Object a1, Object a2, Object a3,
       
  2630                                    Object a4, Object a5, Object a6, Object a7,
       
  2631                                    Object a8, Object a9, Object a10, Object a11,
       
  2632                                    Object a12, Object a13, Object a14, Object a15) throws Throwable {
       
  2633             return target.invokeExact(filter.invokeExact(a0, a1, a2, a3, a4, a5),
       
  2634                                  a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15); }
       
  2635         protected Object invoke_F7(Object a0, Object a1, Object a2, Object a3,
       
  2636                                    Object a4, Object a5, Object a6, Object a7,
       
  2637                                    Object a8, Object a9, Object a10, Object a11,
       
  2638                                    Object a12, Object a13, Object a14, Object a15) throws Throwable {
       
  2639             return target.invokeExact(filter.invokeExact(a0, a1, a2, a3, a4, a5, a6),
       
  2640                                  a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15); }
       
  2641         protected Object invoke_F8(Object a0, Object a1, Object a2, Object a3,
       
  2642                                    Object a4, Object a5, Object a6, Object a7,
       
  2643                                    Object a8, Object a9, Object a10, Object a11,
       
  2644                                    Object a12, Object a13, Object a14, Object a15) throws Throwable {
       
  2645             return target.invokeExact(filter.invokeExact(a0, a1, a2, a3, a4, a5, a6, a7),
       
  2646                                  a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15); }
       
  2647         protected Object invoke_F9(Object a0, Object a1, Object a2, Object a3,
       
  2648                                    Object a4, Object a5, Object a6, Object a7,
       
  2649                                    Object a8, Object a9, Object a10, Object a11,
       
  2650                                    Object a12, Object a13, Object a14, Object a15) throws Throwable {
       
  2651             return target.invokeExact(filter.invokeExact(a0, a1, a2, a3, a4, a5, a6, a7, a8),
       
  2652                                  a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15); }
       
  2653         protected Object invoke_F10(Object a0, Object a1, Object a2, Object a3,
       
  2654                                     Object a4, Object a5, Object a6, Object a7,
       
  2655                                     Object a8, Object a9, Object a10, Object a11,
       
  2656                                     Object a12, Object a13, Object a14, Object a15) throws Throwable {
       
  2657             return target.invokeExact(filter.invokeExact(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9),
       
  2658                                  a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15); }
       
  2659         protected Object invoke_F11(Object a0, Object a1, Object a2, Object a3,
       
  2660                                     Object a4, Object a5, Object a6, Object a7,
       
  2661                                     Object a8, Object a9, Object a10, Object a11,
       
  2662                                     Object a12, Object a13, Object a14, Object a15) throws Throwable {
       
  2663             return target.invokeExact(filter.invokeExact(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9,
       
  2664                                  a10),
       
  2665                                  a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15); }
       
  2666         protected Object invoke_F12(Object a0, Object a1, Object a2, Object a3,
       
  2667                                     Object a4, Object a5, Object a6, Object a7,
       
  2668                                     Object a8, Object a9, Object a10, Object a11,
       
  2669                                     Object a12, Object a13, Object a14, Object a15) throws Throwable {
       
  2670             return target.invokeExact(filter.invokeExact(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9,
       
  2671                                  a10, a11),
       
  2672                                  a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15); }
       
  2673         protected Object invoke_F13(Object a0, Object a1, Object a2, Object a3,
       
  2674                                     Object a4, Object a5, Object a6, Object a7,
       
  2675                                     Object a8, Object a9, Object a10, Object a11,
       
  2676                                     Object a12, Object a13, Object a14, Object a15) throws Throwable {
       
  2677             return target.invokeExact(filter.invokeExact(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9,
       
  2678                                  a10, a11, a12),
       
  2679                                  a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15); }
       
  2680         protected Object invoke_F14(Object a0, Object a1, Object a2, Object a3,
       
  2681                                     Object a4, Object a5, Object a6, Object a7,
       
  2682                                     Object a8, Object a9, Object a10, Object a11,
       
  2683                                     Object a12, Object a13, Object a14, Object a15) throws Throwable {
       
  2684             return target.invokeExact(filter.invokeExact(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9,
       
  2685                                  a10, a11, a12, a13),
       
  2686                                  a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15); }
       
  2687         protected Object invoke_F15(Object a0, Object a1, Object a2, Object a3,
       
  2688                                     Object a4, Object a5, Object a6, Object a7,
       
  2689                                     Object a8, Object a9, Object a10, Object a11,
       
  2690                                     Object a12, Object a13, Object a14, Object a15) throws Throwable {
       
  2691             return target.invokeExact(filter.invokeExact(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9,
       
  2692                                  a10, a11, a12, a13, a14),
       
  2693                                  a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15); }
       
  2694         protected Object invoke_F16(Object a0, Object a1, Object a2, Object a3,
       
  2695                                    Object a4, Object a5, Object a6, Object a7,
       
  2696                                    Object a8, Object a9, Object a10, Object a11,
       
  2697                                    Object a12, Object a13, Object a14, Object a15) throws Throwable {
       
  2698             return target.invokeExact(filter.invokeExact(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15),
       
  2699                                  a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15); }
       
  2700         protected Object invoke_C0(Object a0, Object a1, Object a2, Object a3,
       
  2701                                    Object a4, Object a5, Object a6, Object a7,
       
  2702                                    Object a8, Object a9, Object a10, Object a11,
       
  2703                                    Object a12, Object a13, Object a14, Object a15) throws Throwable {
       
  2704             return target.invokeExact(filter.invokeExact(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9,
       
  2705                                  a10, a11, a12, a13, a14, a15)); }
       
  2706         protected Object invoke_C1(Object a0, Object a1, Object a2, Object a3,
       
  2707                                    Object a4, Object a5, Object a6, Object a7,
       
  2708                                    Object a8, Object a9, Object a10, Object a11,
       
  2709                                    Object a12, Object a13, Object a14, Object a15) throws Throwable {
       
  2710             return target.invokeExact(a0, filter.invokeExact(a1, a2, a3, a4, a5, a6, a7, a8, a9,
       
  2711                                  a10, a11, a12, a13, a14, a15)); }
       
  2712         protected Object invoke_C2(Object a0, Object a1, Object a2, Object a3,
       
  2713                                    Object a4, Object a5, Object a6, Object a7,
       
  2714                                    Object a8, Object a9, Object a10, Object a11,
       
  2715                                    Object a12, Object a13, Object a14, Object a15) throws Throwable {
       
  2716             return target.invokeExact(a0, a1, filter.invokeExact(a2, a3, a4, a5, a6, a7, a8, a9,
       
  2717                                  a10, a11, a12, a13, a14, a15)); }
       
  2718         protected Object invoke_C3(Object a0, Object a1, Object a2, Object a3,
       
  2719                                    Object a4, Object a5, Object a6, Object a7,
       
  2720                                    Object a8, Object a9, Object a10, Object a11,
       
  2721                                    Object a12, Object a13, Object a14, Object a15) throws Throwable {
       
  2722             return target.invokeExact(a0, a1, a2, filter.invokeExact(a3, a4, a5, a6, a7, a8, a9,
       
  2723                                  a10, a11, a12, a13, a14, a15)); }
       
  2724         protected Object invoke_C4(Object a0, Object a1, Object a2, Object a3,
       
  2725                                    Object a4, Object a5, Object a6, Object a7,
       
  2726                                    Object a8, Object a9, Object a10, Object a11,
       
  2727                                    Object a12, Object a13, Object a14, Object a15) throws Throwable {
       
  2728             return target.invokeExact(a0, a1, a2, a3, filter.invokeExact(a4, a5, a6, a7, a8, a9,
       
  2729                                  a10, a11, a12, a13, a14, a15)); }
       
  2730         protected Object invoke_C5(Object a0, Object a1, Object a2, Object a3,
       
  2731                                    Object a4, Object a5, Object a6, Object a7,
       
  2732                                    Object a8, Object a9, Object a10, Object a11,
       
  2733                                    Object a12, Object a13, Object a14, Object a15) throws Throwable {
       
  2734             return target.invokeExact(a0, a1, a2, a3, a4, filter.invokeExact(a5, a6, a7, a8, a9,
       
  2735                                  a10, a11, a12, a13, a14, a15)); }
       
  2736         protected Object invoke_C6(Object a0, Object a1, Object a2, Object a3,
       
  2737                                    Object a4, Object a5, Object a6, Object a7,
       
  2738                                    Object a8, Object a9, Object a10, Object a11,
       
  2739                                    Object a12, Object a13, Object a14, Object a15) throws Throwable {
       
  2740             return target.invokeExact(a0, a1, a2, a3, a4, a5, filter.invokeExact(a6, a7, a8, a9,
       
  2741                                  a10, a11, a12, a13, a14, a15)); }
       
  2742         protected Object invoke_C7(Object a0, Object a1, Object a2, Object a3,
       
  2743                                    Object a4, Object a5, Object a6, Object a7,
       
  2744                                    Object a8, Object a9, Object a10, Object a11,
       
  2745                                    Object a12, Object a13, Object a14, Object a15) throws Throwable {
       
  2746             return target.invokeExact(a0, a1, a2, a3, a4, a5, a6, filter.invokeExact(a7, a8, a9,
       
  2747                                  a10, a11, a12, a13, a14, a15)); }
       
  2748         protected Object invoke_C8(Object a0, Object a1, Object a2, Object a3,
       
  2749                                    Object a4, Object a5, Object a6, Object a7,
       
  2750                                    Object a8, Object a9, Object a10, Object a11,
       
  2751                                    Object a12, Object a13, Object a14, Object a15) throws Throwable {
       
  2752             return target.invokeExact(a0, a1, a2, a3, a4, a5, a6, a7, filter.invokeExact(a8, a9,
       
  2753                                  a10, a11, a12, a13, a14, a15)); }
       
  2754         protected Object invoke_C9(Object a0, Object a1, Object a2, Object a3,
       
  2755                                    Object a4, Object a5, Object a6, Object a7,
       
  2756                                    Object a8, Object a9, Object a10, Object a11,
       
  2757                                    Object a12, Object a13, Object a14, Object a15) throws Throwable {
       
  2758             return target.invokeExact(a0, a1, a2, a3, a4, a5, a6, a7, a8, filter.invokeExact(a9,
       
  2759                                  a10, a11, a12, a13, a14, a15)); }
       
  2760         protected Object invoke_C10(Object a0, Object a1, Object a2, Object a3,
       
  2761                                     Object a4, Object a5, Object a6, Object a7,
       
  2762                                     Object a8, Object a9, Object a10, Object a11,
       
  2763                                     Object a12, Object a13, Object a14, Object a15) throws Throwable {
       
  2764             return target.invokeExact(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, filter.invokeExact(a10, a11, a12, a13, a14, a15)); }
       
  2765         protected Object invoke_C11(Object a0, Object a1, Object a2, Object a3,
       
  2766                                     Object a4, Object a5, Object a6, Object a7,
       
  2767                                     Object a8, Object a9, Object a10, Object a11,
       
  2768                                     Object a12, Object a13, Object a14, Object a15) throws Throwable {
       
  2769             return target.invokeExact(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9,
       
  2770                                  a10, filter.invokeExact(a11, a12, a13, a14, a15)); }
       
  2771         protected Object invoke_C12(Object a0, Object a1, Object a2, Object a3,
       
  2772                                     Object a4, Object a5, Object a6, Object a7,
       
  2773                                     Object a8, Object a9, Object a10, Object a11,
       
  2774                                     Object a12, Object a13, Object a14, Object a15) throws Throwable {
       
  2775             return target.invokeExact(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9,
       
  2776                                  a10, a11, filter.invokeExact(a12, a13, a14, a15)); }
       
  2777         protected Object invoke_C13(Object a0, Object a1, Object a2, Object a3,
       
  2778                                     Object a4, Object a5, Object a6, Object a7,
       
  2779                                     Object a8, Object a9, Object a10, Object a11,
       
  2780                                     Object a12, Object a13, Object a14, Object a15) throws Throwable {
       
  2781             return target.invokeExact(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9,
       
  2782                                  a10, a11, a12, filter.invokeExact(a13, a14, a15)); }
       
  2783         protected Object invoke_C14(Object a0, Object a1, Object a2, Object a3,
       
  2784                                     Object a4, Object a5, Object a6, Object a7,
       
  2785                                     Object a8, Object a9, Object a10, Object a11,
       
  2786                                     Object a12, Object a13, Object a14, Object a15) throws Throwable {
       
  2787             return target.invokeExact(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9,
       
  2788                                  a10, a11, a12, a13, filter.invokeExact(a14, a15)); }
       
  2789         protected Object invoke_C15(Object a0, Object a1, Object a2, Object a3,
       
  2790                                     Object a4, Object a5, Object a6, Object a7,
       
  2791                                     Object a8, Object a9, Object a10, Object a11,
       
  2792                                     Object a12, Object a13, Object a14, Object a15) throws Throwable {
       
  2793             return target.invokeExact(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9,
       
  2794                                  a10, a11, a12, a13, a14, filter.invokeExact(a15)); }
       
  2795         protected Object invoke_C16(Object a0, Object a1, Object a2, Object a3,
       
  2796                                    Object a4, Object a5, Object a6, Object a7,
       
  2797                                    Object a8, Object a9, Object a10, Object a11,
       
  2798                                    Object a12, Object a13, Object a14, Object a15) throws Throwable {
       
  2799             return target.invokeExact(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, filter.invokeExact()); }
       
  2800         protected Object invoke_Y0(Object a0, Object a1, Object a2, Object a3,
       
  2801                                    Object a4, Object a5, Object a6, Object a7,
       
  2802                                    Object a8, Object a9, Object a10, Object a11,
       
  2803                                    Object a12, Object a13, Object a14, Object a15) throws Throwable {
       
  2804             Object[] av = { a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15 };
       
  2805             filter.invokeExact(av); // make the flyby
       
  2806             return target.invokeExact(av[0], av[1], av[2], av[3], av[4], av[5], av[6], av[7], av[8], av[9], av[10], av[11], av[12], av[13], av[14], av[15]); }
       
  2807     }
       
  2808     static class F17 extends Adapter {
       
  2809         protected F17(MethodHandle entryPoint) { super(entryPoint); }  // to build prototype
       
  2810         protected F17(MethodHandle e, MethodHandle f, MethodHandle t) {
       
  2811             super(e, f, t); }
       
  2812         protected F17 makeInstance(MethodHandle e, MethodHandle f, MethodHandle t) {
       
  2813             return new F17(e, f, t); }
       
  2814         protected Object invoke_V0(Object a0, Object a1, Object a2, Object a3,
       
  2815                                    Object a4, Object a5, Object a6, Object a7,
       
  2816                                    Object a8, Object a9, Object a10, Object a11,
       
  2817                                    Object a12, Object a13, Object a14, Object a15,
       
  2818                                    Object a16) throws Throwable {
       
  2819             return target.invokeExact(filter.invokeExact(a0), a1, a2, a3, a4, a5, a6, a7, a8, a9,
       
  2820                                  a10, a11, a12, a13, a14, a15, a16); }
       
  2821         protected Object invoke_V1(Object a0, Object a1, Object a2, Object a3,
       
  2822                                    Object a4, Object a5, Object a6, Object a7,
       
  2823                                    Object a8, Object a9, Object a10, Object a11,
       
  2824                                    Object a12, Object a13, Object a14, Object a15,
       
  2825                                    Object a16) throws Throwable {
       
  2826             return target.invokeExact(a0, filter.invokeExact(a1), a2, a3, a4, a5, a6, a7, a8, a9,
       
  2827                                  a10, a11, a12, a13, a14, a15, a16); }
       
  2828         protected Object invoke_V2(Object a0, Object a1, Object a2, Object a3,
       
  2829                                    Object a4, Object a5, Object a6, Object a7,
       
  2830                                    Object a8, Object a9, Object a10, Object a11,
       
  2831                                    Object a12, Object a13, Object a14, Object a15,
       
  2832                                    Object a16) throws Throwable {
       
  2833             return target.invokeExact(a0, a1, filter.invokeExact(a2), a3, a4, a5, a6, a7, a8, a9,
       
  2834                                  a10, a11, a12, a13, a14, a15, a16); }
       
  2835         protected Object invoke_V3(Object a0, Object a1, Object a2, Object a3,
       
  2836                                    Object a4, Object a5, Object a6, Object a7,
       
  2837                                    Object a8, Object a9, Object a10, Object a11,
       
  2838                                    Object a12, Object a13, Object a14, Object a15,
       
  2839                                    Object a16) throws Throwable {
       
  2840             return target.invokeExact(a0, a1, a2, filter.invokeExact(a3), a4, a5, a6, a7, a8, a9,
       
  2841                                  a10, a11, a12, a13, a14, a15, a16); }
       
  2842         protected Object invoke_V4(Object a0, Object a1, Object a2, Object a3,
       
  2843                                    Object a4, Object a5, Object a6, Object a7,
       
  2844                                    Object a8, Object a9, Object a10, Object a11,
       
  2845                                    Object a12, Object a13, Object a14, Object a15,
       
  2846                                    Object a16) throws Throwable {
       
  2847             return target.invokeExact(a0, a1, a2, a3, filter.invokeExact(a4), a5, a6, a7, a8, a9,
       
  2848                                  a10, a11, a12, a13, a14, a15, a16); }
       
  2849         protected Object invoke_V5(Object a0, Object a1, Object a2, Object a3,
       
  2850                                    Object a4, Object a5, Object a6, Object a7,
       
  2851                                    Object a8, Object a9, Object a10, Object a11,
       
  2852                                    Object a12, Object a13, Object a14, Object a15,
       
  2853                                    Object a16) throws Throwable {
       
  2854             return target.invokeExact(a0, a1, a2, a3, a4, filter.invokeExact(a5), a6, a7, a8, a9,
       
  2855                                  a10, a11, a12, a13, a14, a15, a16); }
       
  2856         protected Object invoke_V6(Object a0, Object a1, Object a2, Object a3,
       
  2857                                    Object a4, Object a5, Object a6, Object a7,
       
  2858                                    Object a8, Object a9, Object a10, Object a11,
       
  2859                                    Object a12, Object a13, Object a14, Object a15,
       
  2860                                    Object a16) throws Throwable {
       
  2861             return target.invokeExact(a0, a1, a2, a3, a4, a5, filter.invokeExact(a6), a7, a8, a9,
       
  2862                                  a10, a11, a12, a13, a14, a15, a16); }
       
  2863         protected Object invoke_V7(Object a0, Object a1, Object a2, Object a3,
       
  2864                                    Object a4, Object a5, Object a6, Object a7,
       
  2865                                    Object a8, Object a9, Object a10, Object a11,
       
  2866                                    Object a12, Object a13, Object a14, Object a15,
       
  2867                                    Object a16) throws Throwable {
       
  2868             return target.invokeExact(a0, a1, a2, a3, a4, a5, a6, filter.invokeExact(a7), a8, a9,
       
  2869                                  a10, a11, a12, a13, a14, a15, a16); }
       
  2870         protected Object invoke_V8(Object a0, Object a1, Object a2, Object a3,
       
  2871                                    Object a4, Object a5, Object a6, Object a7,
       
  2872                                    Object a8, Object a9, Object a10, Object a11,
       
  2873                                    Object a12, Object a13, Object a14, Object a15,
       
  2874                                    Object a16) throws Throwable {
       
  2875             return target.invokeExact(a0, a1, a2, a3, a4, a5, a6, a7, filter.invokeExact(a8), a9,
       
  2876                                  a10, a11, a12, a13, a14, a15, a16); }
       
  2877         protected Object invoke_V9(Object a0, Object a1, Object a2, Object a3,
       
  2878                                    Object a4, Object a5, Object a6, Object a7,
       
  2879                                    Object a8, Object a9, Object a10, Object a11,
       
  2880                                    Object a12, Object a13, Object a14, Object a15,
       
  2881                                    Object a16) throws Throwable {
       
  2882             return target.invokeExact(a0, a1, a2, a3, a4, a5, a6, a7, a8, filter.invokeExact(a9),
       
  2883                                  a10, a11, a12, a13, a14, a15, a16); }
       
  2884         protected Object invoke_V10(Object a0, Object a1, Object a2, Object a3,
       
  2885                                     Object a4, Object a5, Object a6, Object a7,
       
  2886                                     Object a8, Object a9, Object a10, Object a11,
       
  2887                                     Object a12, Object a13, Object a14, Object a15,
       
  2888                                     Object a16) throws Throwable {
       
  2889             return target.invokeExact(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9,
       
  2890                                  filter.invokeExact(a10), a11, a12, a13, a14, a15, a16); }
       
  2891         protected Object invoke_V11(Object a0, Object a1, Object a2, Object a3,
       
  2892                                     Object a4, Object a5, Object a6, Object a7,
       
  2893                                     Object a8, Object a9, Object a10, Object a11,
       
  2894                                     Object a12, Object a13, Object a14, Object a15,
       
  2895                                     Object a16) throws Throwable {
       
  2896             return target.invokeExact(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9,
       
  2897                                  a10, filter.invokeExact(a11), a12, a13, a14, a15, a16); }
       
  2898         protected Object invoke_V12(Object a0, Object a1, Object a2, Object a3,
       
  2899                                     Object a4, Object a5, Object a6, Object a7,
       
  2900                                     Object a8, Object a9, Object a10, Object a11,
       
  2901                                     Object a12, Object a13, Object a14, Object a15,
       
  2902                                     Object a16) throws Throwable {
       
  2903             return target.invokeExact(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9,
       
  2904                                  a10, a11, filter.invokeExact(a12), a13, a14, a15, a16); }
       
  2905         protected Object invoke_V13(Object a0, Object a1, Object a2, Object a3,
       
  2906                                     Object a4, Object a5, Object a6, Object a7,
       
  2907                                     Object a8, Object a9, Object a10, Object a11,
       
  2908                                     Object a12, Object a13, Object a14, Object a15,
       
  2909                                     Object a16) throws Throwable {
       
  2910             return target.invokeExact(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9,
       
  2911                                  a10, a11, a12, filter.invokeExact(a13), a14, a15, a16); }
       
  2912         protected Object invoke_V14(Object a0, Object a1, Object a2, Object a3,
       
  2913                                     Object a4, Object a5, Object a6, Object a7,
       
  2914                                     Object a8, Object a9, Object a10, Object a11,
       
  2915                                     Object a12, Object a13, Object a14, Object a15,
       
  2916                                     Object a16) throws Throwable {
       
  2917             return target.invokeExact(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9,
       
  2918                                  a10, a11, a12, a13, filter.invokeExact(a14), a15, a16); }
       
  2919         protected Object invoke_V15(Object a0, Object a1, Object a2, Object a3,
       
  2920                                     Object a4, Object a5, Object a6, Object a7,
       
  2921                                     Object a8, Object a9, Object a10, Object a11,
       
  2922                                     Object a12, Object a13, Object a14, Object a15,
       
  2923                                     Object a16) throws Throwable {
       
  2924             return target.invokeExact(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9,
       
  2925                                  a10, a11, a12, a13, a14, filter.invokeExact(a15), a16); }
       
  2926         protected Object invoke_V16(Object a0, Object a1, Object a2, Object a3,
       
  2927                                     Object a4, Object a5, Object a6, Object a7,
       
  2928                                     Object a8, Object a9, Object a10, Object a11,
       
  2929                                     Object a12, Object a13, Object a14, Object a15,
       
  2930                                     Object a16) throws Throwable {
       
  2931             return target.invokeExact(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9,
       
  2932                                  a10, a11, a12, a13, a14, a15, filter.invokeExact(a16)); }
       
  2933         protected Object invoke_F0(Object a0, Object a1, Object a2, Object a3,
       
  2934                                    Object a4, Object a5, Object a6, Object a7,
       
  2935                                    Object a8, Object a9, Object a10, Object a11,
       
  2936                                    Object a12, Object a13, Object a14, Object a15,
       
  2937                                    Object a16) throws Throwable {
       
  2938             return target.invokeExact(filter.invokeExact(),
       
  2939                                  a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16); }
       
  2940         protected Object invoke_F1(Object a0, Object a1, Object a2, Object a3,
       
  2941                                    Object a4, Object a5, Object a6, Object a7,
       
  2942                                    Object a8, Object a9, Object a10, Object a11,
       
  2943                                    Object a12, Object a13, Object a14, Object a15,
       
  2944                                    Object a16) throws Throwable {
       
  2945             return target.invokeExact(filter.invokeExact(a0),
       
  2946                                  a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16); }
       
  2947         protected Object invoke_F2(Object a0, Object a1, Object a2, Object a3,
       
  2948                                    Object a4, Object a5, Object a6, Object a7,
       
  2949                                    Object a8, Object a9, Object a10, Object a11,
       
  2950                                    Object a12, Object a13, Object a14, Object a15,
       
  2951                                    Object a16) throws Throwable {
       
  2952             return target.invokeExact(filter.invokeExact(a0, a1),
       
  2953                                  a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16); }
       
  2954         protected Object invoke_F3(Object a0, Object a1, Object a2, Object a3,
       
  2955                                    Object a4, Object a5, Object a6, Object a7,
       
  2956                                    Object a8, Object a9, Object a10, Object a11,
       
  2957                                    Object a12, Object a13, Object a14, Object a15,
       
  2958                                    Object a16) throws Throwable {
       
  2959             return target.invokeExact(filter.invokeExact(a0, a1, a2),
       
  2960                                  a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16); }
       
  2961         protected Object invoke_F4(Object a0, Object a1, Object a2, Object a3,
       
  2962                                    Object a4, Object a5, Object a6, Object a7,
       
  2963                                    Object a8, Object a9, Object a10, Object a11,
       
  2964                                    Object a12, Object a13, Object a14, Object a15,
       
  2965                                    Object a16) throws Throwable {
       
  2966             return target.invokeExact(filter.invokeExact(a0, a1, a2, a3),
       
  2967                                  a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16); }
       
  2968         protected Object invoke_F5(Object a0, Object a1, Object a2, Object a3,
       
  2969                                    Object a4, Object a5, Object a6, Object a7,
       
  2970                                    Object a8, Object a9, Object a10, Object a11,
       
  2971                                    Object a12, Object a13, Object a14, Object a15,
       
  2972                                    Object a16) throws Throwable {
       
  2973             return target.invokeExact(filter.invokeExact(a0, a1, a2, a3, a4),
       
  2974                                  a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16); }
       
  2975         protected Object invoke_F6(Object a0, Object a1, Object a2, Object a3,
       
  2976                                    Object a4, Object a5, Object a6, Object a7,
       
  2977                                    Object a8, Object a9, Object a10, Object a11,
       
  2978                                    Object a12, Object a13, Object a14, Object a15,
       
  2979                                    Object a16) throws Throwable {
       
  2980             return target.invokeExact(filter.invokeExact(a0, a1, a2, a3, a4, a5),
       
  2981                                  a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16); }
       
  2982         protected Object invoke_F7(Object a0, Object a1, Object a2, Object a3,
       
  2983                                    Object a4, Object a5, Object a6, Object a7,
       
  2984                                    Object a8, Object a9, Object a10, Object a11,
       
  2985                                    Object a12, Object a13, Object a14, Object a15,
       
  2986                                    Object a16) throws Throwable {
       
  2987             return target.invokeExact(filter.invokeExact(a0, a1, a2, a3, a4, a5, a6),
       
  2988                                  a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16); }
       
  2989         protected Object invoke_F8(Object a0, Object a1, Object a2, Object a3,
       
  2990                                    Object a4, Object a5, Object a6, Object a7,
       
  2991                                    Object a8, Object a9, Object a10, Object a11,
       
  2992                                    Object a12, Object a13, Object a14, Object a15,
       
  2993                                    Object a16) throws Throwable {
       
  2994             return target.invokeExact(filter.invokeExact(a0, a1, a2, a3, a4, a5, a6, a7),
       
  2995                                  a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16); }
       
  2996         protected Object invoke_F9(Object a0, Object a1, Object a2, Object a3,
       
  2997                                    Object a4, Object a5, Object a6, Object a7,
       
  2998                                    Object a8, Object a9, Object a10, Object a11,
       
  2999                                    Object a12, Object a13, Object a14, Object a15,
       
  3000                                    Object a16) throws Throwable {
       
  3001             return target.invokeExact(filter.invokeExact(a0, a1, a2, a3, a4, a5, a6, a7, a8),
       
  3002                                  a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16); }
       
  3003         protected Object invoke_F10(Object a0, Object a1, Object a2, Object a3,
       
  3004                                     Object a4, Object a5, Object a6, Object a7,
       
  3005                                     Object a8, Object a9, Object a10, Object a11,
       
  3006                                     Object a12, Object a13, Object a14, Object a15,
       
  3007                                     Object a16) throws Throwable {
       
  3008             return target.invokeExact(filter.invokeExact(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9),
       
  3009                                  a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16); }
       
  3010         protected Object invoke_F11(Object a0, Object a1, Object a2, Object a3,
       
  3011                                     Object a4, Object a5, Object a6, Object a7,
       
  3012                                     Object a8, Object a9, Object a10, Object a11,
       
  3013                                     Object a12, Object a13, Object a14, Object a15,
       
  3014                                     Object a16) throws Throwable {
       
  3015             return target.invokeExact(filter.invokeExact(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9,
       
  3016                                  a10),
       
  3017                                  a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16); }
       
  3018         protected Object invoke_F12(Object a0, Object a1, Object a2, Object a3,
       
  3019                                     Object a4, Object a5, Object a6, Object a7,
       
  3020                                     Object a8, Object a9, Object a10, Object a11,
       
  3021                                     Object a12, Object a13, Object a14, Object a15,
       
  3022                                     Object a16) throws Throwable {
       
  3023             return target.invokeExact(filter.invokeExact(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9,
       
  3024                                  a10, a11),
       
  3025                                  a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16); }
       
  3026         protected Object invoke_F13(Object a0, Object a1, Object a2, Object a3,
       
  3027                                     Object a4, Object a5, Object a6, Object a7,
       
  3028                                     Object a8, Object a9, Object a10, Object a11,
       
  3029                                     Object a12, Object a13, Object a14, Object a15,
       
  3030                                     Object a16) throws Throwable {
       
  3031             return target.invokeExact(filter.invokeExact(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9,
       
  3032                                  a10, a11, a12),
       
  3033                                  a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16); }
       
  3034         protected Object invoke_F14(Object a0, Object a1, Object a2, Object a3,
       
  3035                                     Object a4, Object a5, Object a6, Object a7,
       
  3036                                     Object a8, Object a9, Object a10, Object a11,
       
  3037                                     Object a12, Object a13, Object a14, Object a15,
       
  3038                                     Object a16) throws Throwable {
       
  3039             return target.invokeExact(filter.invokeExact(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9,
       
  3040                                  a10, a11, a12, a13),
       
  3041                                  a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16); }
       
  3042         protected Object invoke_F15(Object a0, Object a1, Object a2, Object a3,
       
  3043                                     Object a4, Object a5, Object a6, Object a7,
       
  3044                                     Object a8, Object a9, Object a10, Object a11,
       
  3045                                     Object a12, Object a13, Object a14, Object a15,
       
  3046                                     Object a16) throws Throwable {
       
  3047             return target.invokeExact(filter.invokeExact(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9,
       
  3048                                  a10, a11, a12, a13, a14),
       
  3049                                  a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16); }
       
  3050         protected Object invoke_F16(Object a0, Object a1, Object a2, Object a3,
       
  3051                                     Object a4, Object a5, Object a6, Object a7,
       
  3052                                     Object a8, Object a9, Object a10, Object a11,
       
  3053                                     Object a12, Object a13, Object a14, Object a15,
       
  3054                                     Object a16) throws Throwable {
       
  3055             return target.invokeExact(filter.invokeExact(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9,
       
  3056                                  a10, a11, a12, a13, a14, a15),
       
  3057                                  a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16); }
       
  3058         protected Object invoke_F17(Object a0, Object a1, Object a2, Object a3,
       
  3059                                    Object a4, Object a5, Object a6, Object a7,
       
  3060                                    Object a8, Object a9, Object a10, Object a11,
       
  3061                                    Object a12, Object a13, Object a14, Object a15,
       
  3062                                    Object a16) throws Throwable {
       
  3063             return target.invokeExact(filter.invokeExact(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16),
       
  3064                                  a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16); }
       
  3065         protected Object invoke_C0(Object a0, Object a1, Object a2, Object a3,
       
  3066                                    Object a4, Object a5, Object a6, Object a7,
       
  3067                                    Object a8, Object a9, Object a10, Object a11,
       
  3068                                    Object a12, Object a13, Object a14, Object a15,
       
  3069                                    Object a16) throws Throwable {
       
  3070             return target.invokeExact(filter.invokeExact(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9,
       
  3071                                  a10, a11, a12, a13, a14, a15, a16)); }
       
  3072         protected Object invoke_C1(Object a0, Object a1, Object a2, Object a3,
       
  3073                                    Object a4, Object a5, Object a6, Object a7,
       
  3074                                    Object a8, Object a9, Object a10, Object a11,
       
  3075                                    Object a12, Object a13, Object a14, Object a15,
       
  3076                                    Object a16) throws Throwable {
       
  3077             return target.invokeExact(a0, filter.invokeExact(a1, a2, a3, a4, a5, a6, a7, a8, a9,
       
  3078                                  a10, a11, a12, a13, a14, a15, a16)); }
       
  3079         protected Object invoke_C2(Object a0, Object a1, Object a2, Object a3,
       
  3080                                    Object a4, Object a5, Object a6, Object a7,
       
  3081                                    Object a8, Object a9, Object a10, Object a11,
       
  3082                                    Object a12, Object a13, Object a14, Object a15,
       
  3083                                    Object a16) throws Throwable {
       
  3084             return target.invokeExact(a0, a1, filter.invokeExact(a2, a3, a4, a5, a6, a7, a8, a9,
       
  3085                                  a10, a11, a12, a13, a14, a15, a16)); }
       
  3086         protected Object invoke_C3(Object a0, Object a1, Object a2, Object a3,
       
  3087                                    Object a4, Object a5, Object a6, Object a7,
       
  3088                                    Object a8, Object a9, Object a10, Object a11,
       
  3089                                    Object a12, Object a13, Object a14, Object a15,
       
  3090                                    Object a16) throws Throwable {
       
  3091             return target.invokeExact(a0, a1, a2, filter.invokeExact(a3, a4, a5, a6, a7, a8, a9,
       
  3092                                  a10, a11, a12, a13, a14, a15, a16)); }
       
  3093         protected Object invoke_C4(Object a0, Object a1, Object a2, Object a3,
       
  3094                                    Object a4, Object a5, Object a6, Object a7,
       
  3095                                    Object a8, Object a9, Object a10, Object a11,
       
  3096                                    Object a12, Object a13, Object a14, Object a15,
       
  3097                                    Object a16) throws Throwable {
       
  3098             return target.invokeExact(a0, a1, a2, a3, filter.invokeExact(a4, a5, a6, a7, a8, a9,
       
  3099                                  a10, a11, a12, a13, a14, a15, a16)); }
       
  3100         protected Object invoke_C5(Object a0, Object a1, Object a2, Object a3,
       
  3101                                    Object a4, Object a5, Object a6, Object a7,
       
  3102                                    Object a8, Object a9, Object a10, Object a11,
       
  3103                                    Object a12, Object a13, Object a14, Object a15,
       
  3104                                    Object a16) throws Throwable {
       
  3105             return target.invokeExact(a0, a1, a2, a3, a4, filter.invokeExact(a5, a6, a7, a8, a9,
       
  3106                                  a10, a11, a12, a13, a14, a15, a16)); }
       
  3107         protected Object invoke_C6(Object a0, Object a1, Object a2, Object a3,
       
  3108                                    Object a4, Object a5, Object a6, Object a7,
       
  3109                                    Object a8, Object a9, Object a10, Object a11,
       
  3110                                    Object a12, Object a13, Object a14, Object a15,
       
  3111                                    Object a16) throws Throwable {
       
  3112             return target.invokeExact(a0, a1, a2, a3, a4, a5, filter.invokeExact(a6, a7, a8, a9,
       
  3113                                  a10, a11, a12, a13, a14, a15, a16)); }
       
  3114         protected Object invoke_C7(Object a0, Object a1, Object a2, Object a3,
       
  3115                                    Object a4, Object a5, Object a6, Object a7,
       
  3116                                    Object a8, Object a9, Object a10, Object a11,
       
  3117                                    Object a12, Object a13, Object a14, Object a15,
       
  3118                                    Object a16) throws Throwable {
       
  3119             return target.invokeExact(a0, a1, a2, a3, a4, a5, a6, filter.invokeExact(a7, a8, a9,
       
  3120                                  a10, a11, a12, a13, a14, a15, a16)); }
       
  3121         protected Object invoke_C8(Object a0, Object a1, Object a2, Object a3,
       
  3122                                    Object a4, Object a5, Object a6, Object a7,
       
  3123                                    Object a8, Object a9, Object a10, Object a11,
       
  3124                                    Object a12, Object a13, Object a14, Object a15,
       
  3125                                    Object a16) throws Throwable {
       
  3126             return target.invokeExact(a0, a1, a2, a3, a4, a5, a6, a7, filter.invokeExact(a8, a9,
       
  3127                                  a10, a11, a12, a13, a14, a15, a16)); }
       
  3128         protected Object invoke_C9(Object a0, Object a1, Object a2, Object a3,
       
  3129                                    Object a4, Object a5, Object a6, Object a7,
       
  3130                                    Object a8, Object a9, Object a10, Object a11,
       
  3131                                    Object a12, Object a13, Object a14, Object a15,
       
  3132                                    Object a16) throws Throwable {
       
  3133             return target.invokeExact(a0, a1, a2, a3, a4, a5, a6, a7, a8, filter.invokeExact(a9,
       
  3134                                  a10, a11, a12, a13, a14, a15, a16)); }
       
  3135         protected Object invoke_C10(Object a0, Object a1, Object a2, Object a3,
       
  3136                                     Object a4, Object a5, Object a6, Object a7,
       
  3137                                     Object a8, Object a9, Object a10, Object a11,
       
  3138                                     Object a12, Object a13, Object a14, Object a15,
       
  3139                                     Object a16) throws Throwable {
       
  3140             return target.invokeExact(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, filter.invokeExact(a10, a11, a12, a13, a14, a15, a16)); }
       
  3141         protected Object invoke_C11(Object a0, Object a1, Object a2, Object a3,
       
  3142                                     Object a4, Object a5, Object a6, Object a7,
       
  3143                                     Object a8, Object a9, Object a10, Object a11,
       
  3144                                     Object a12, Object a13, Object a14, Object a15,
       
  3145                                     Object a16) throws Throwable {
       
  3146             return target.invokeExact(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9,
       
  3147                                  a10, filter.invokeExact(a11, a12, a13, a14, a15, a16)); }
       
  3148         protected Object invoke_C12(Object a0, Object a1, Object a2, Object a3,
       
  3149                                     Object a4, Object a5, Object a6, Object a7,
       
  3150                                     Object a8, Object a9, Object a10, Object a11,
       
  3151                                     Object a12, Object a13, Object a14, Object a15,
       
  3152                                     Object a16) throws Throwable {
       
  3153             return target.invokeExact(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9,
       
  3154                                  a10, a11, filter.invokeExact(a12, a13, a14, a15, a16)); }
       
  3155         protected Object invoke_C13(Object a0, Object a1, Object a2, Object a3,
       
  3156                                     Object a4, Object a5, Object a6, Object a7,
       
  3157                                     Object a8, Object a9, Object a10, Object a11,
       
  3158                                     Object a12, Object a13, Object a14, Object a15,
       
  3159                                     Object a16) throws Throwable {
       
  3160             return target.invokeExact(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9,
       
  3161                                  a10, a11, a12, filter.invokeExact(a13, a14, a15, a16)); }
       
  3162         protected Object invoke_C14(Object a0, Object a1, Object a2, Object a3,
       
  3163                                     Object a4, Object a5, Object a6, Object a7,
       
  3164                                     Object a8, Object a9, Object a10, Object a11,
       
  3165                                     Object a12, Object a13, Object a14, Object a15,
       
  3166                                     Object a16) throws Throwable {
       
  3167             return target.invokeExact(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9,
       
  3168                                  a10, a11, a12, a13, filter.invokeExact(a14, a15, a16)); }
       
  3169         protected Object invoke_C15(Object a0, Object a1, Object a2, Object a3,
       
  3170                                     Object a4, Object a5, Object a6, Object a7,
       
  3171                                     Object a8, Object a9, Object a10, Object a11,
       
  3172                                     Object a12, Object a13, Object a14, Object a15,
       
  3173                                     Object a16) throws Throwable {
       
  3174             return target.invokeExact(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9,
       
  3175                                  a10, a11, a12, a13, a14, filter.invokeExact(a15, a16)); }
       
  3176         protected Object invoke_C16(Object a0, Object a1, Object a2, Object a3,
       
  3177                                     Object a4, Object a5, Object a6, Object a7,
       
  3178                                     Object a8, Object a9, Object a10, Object a11,
       
  3179                                     Object a12, Object a13, Object a14, Object a15,
       
  3180                                     Object a16) throws Throwable {
       
  3181             return target.invokeExact(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9,
       
  3182                                  a10, a11, a12, a13, a14, a15, filter.invokeExact(a16)); }
       
  3183         protected Object invoke_C17(Object a0, Object a1, Object a2, Object a3,
       
  3184                                    Object a4, Object a5, Object a6, Object a7,
       
  3185                                    Object a8, Object a9, Object a10, Object a11,
       
  3186                                    Object a12, Object a13, Object a14, Object a15,
       
  3187                                    Object a16) throws Throwable {
       
  3188             return target.invokeExact(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, filter.invokeExact()); }
       
  3189         protected Object invoke_Y0(Object a0, Object a1, Object a2, Object a3,
       
  3190                                    Object a4, Object a5, Object a6, Object a7,
       
  3191                                    Object a8, Object a9, Object a10, Object a11,
       
  3192                                    Object a12, Object a13, Object a14, Object a15,
       
  3193                                    Object a16) throws Throwable {
       
  3194             Object[] av = { a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16 };
       
  3195             filter.invokeExact(av); // make the flyby
       
  3196             return target.invokeExact(av[0], av[1], av[2], av[3], av[4], av[5], av[6], av[7], av[8], av[9], av[10], av[11], av[12], av[13], av[14], av[15], av[16]); }
       
  3197     }
       
  3198     static class F18 extends Adapter {
       
  3199         protected F18(MethodHandle entryPoint) { super(entryPoint); }  // to build prototype
       
  3200         protected F18(MethodHandle e, MethodHandle f, MethodHandle t) {
       
  3201             super(e, f, t); }
       
  3202         protected F18 makeInstance(MethodHandle e, MethodHandle f, MethodHandle t) {
       
  3203             return new F18(e, f, t); }
       
  3204         protected Object invoke_V0(Object a0, Object a1, Object a2, Object a3,
       
  3205                                    Object a4, Object a5, Object a6, Object a7,
       
  3206                                    Object a8, Object a9, Object a10, Object a11,
       
  3207                                    Object a12, Object a13, Object a14, Object a15,
       
  3208                                    Object a16, Object a17) throws Throwable {
       
  3209             return target.invokeExact(filter.invokeExact(a0), a1, a2, a3, a4, a5, a6, a7, a8, a9,
       
  3210                                  a10, a11, a12, a13, a14, a15, a16, a17); }
       
  3211         protected Object invoke_V1(Object a0, Object a1, Object a2, Object a3,
       
  3212                                    Object a4, Object a5, Object a6, Object a7,
       
  3213                                    Object a8, Object a9, Object a10, Object a11,
       
  3214                                    Object a12, Object a13, Object a14, Object a15,
       
  3215                                    Object a16, Object a17) throws Throwable {
       
  3216             return target.invokeExact(a0, filter.invokeExact(a1), a2, a3, a4, a5, a6, a7, a8, a9,
       
  3217                                  a10, a11, a12, a13, a14, a15, a16, a17); }
       
  3218         protected Object invoke_V2(Object a0, Object a1, Object a2, Object a3,
       
  3219                                    Object a4, Object a5, Object a6, Object a7,
       
  3220                                    Object a8, Object a9, Object a10, Object a11,
       
  3221                                    Object a12, Object a13, Object a14, Object a15,
       
  3222                                    Object a16, Object a17) throws Throwable {
       
  3223             return target.invokeExact(a0, a1, filter.invokeExact(a2), a3, a4, a5, a6, a7, a8, a9,
       
  3224                                  a10, a11, a12, a13, a14, a15, a16, a17); }
       
  3225         protected Object invoke_V3(Object a0, Object a1, Object a2, Object a3,
       
  3226                                    Object a4, Object a5, Object a6, Object a7,
       
  3227                                    Object a8, Object a9, Object a10, Object a11,
       
  3228                                    Object a12, Object a13, Object a14, Object a15,
       
  3229                                    Object a16, Object a17) throws Throwable {
       
  3230             return target.invokeExact(a0, a1, a2, filter.invokeExact(a3), a4, a5, a6, a7, a8, a9,
       
  3231                                  a10, a11, a12, a13, a14, a15, a16, a17); }
       
  3232         protected Object invoke_V4(Object a0, Object a1, Object a2, Object a3,
       
  3233                                    Object a4, Object a5, Object a6, Object a7,
       
  3234                                    Object a8, Object a9, Object a10, Object a11,
       
  3235                                    Object a12, Object a13, Object a14, Object a15,
       
  3236                                    Object a16, Object a17) throws Throwable {
       
  3237             return target.invokeExact(a0, a1, a2, a3, filter.invokeExact(a4), a5, a6, a7, a8, a9,
       
  3238                                  a10, a11, a12, a13, a14, a15, a16, a17); }
       
  3239         protected Object invoke_V5(Object a0, Object a1, Object a2, Object a3,
       
  3240                                    Object a4, Object a5, Object a6, Object a7,
       
  3241                                    Object a8, Object a9, Object a10, Object a11,
       
  3242                                    Object a12, Object a13, Object a14, Object a15,
       
  3243                                    Object a16, Object a17) throws Throwable {
       
  3244             return target.invokeExact(a0, a1, a2, a3, a4, filter.invokeExact(a5), a6, a7, a8, a9,
       
  3245                                  a10, a11, a12, a13, a14, a15, a16, a17); }
       
  3246         protected Object invoke_V6(Object a0, Object a1, Object a2, Object a3,
       
  3247                                    Object a4, Object a5, Object a6, Object a7,
       
  3248                                    Object a8, Object a9, Object a10, Object a11,
       
  3249                                    Object a12, Object a13, Object a14, Object a15,
       
  3250                                    Object a16, Object a17) throws Throwable {
       
  3251             return target.invokeExact(a0, a1, a2, a3, a4, a5, filter.invokeExact(a6), a7, a8, a9,
       
  3252                                  a10, a11, a12, a13, a14, a15, a16, a17); }
       
  3253         protected Object invoke_V7(Object a0, Object a1, Object a2, Object a3,
       
  3254                                    Object a4, Object a5, Object a6, Object a7,
       
  3255                                    Object a8, Object a9, Object a10, Object a11,
       
  3256                                    Object a12, Object a13, Object a14, Object a15,
       
  3257                                    Object a16, Object a17) throws Throwable {
       
  3258             return target.invokeExact(a0, a1, a2, a3, a4, a5, a6, filter.invokeExact(a7), a8, a9,
       
  3259                                  a10, a11, a12, a13, a14, a15, a16, a17); }
       
  3260         protected Object invoke_V8(Object a0, Object a1, Object a2, Object a3,
       
  3261                                    Object a4, Object a5, Object a6, Object a7,
       
  3262                                    Object a8, Object a9, Object a10, Object a11,
       
  3263                                    Object a12, Object a13, Object a14, Object a15,
       
  3264                                    Object a16, Object a17) throws Throwable {
       
  3265             return target.invokeExact(a0, a1, a2, a3, a4, a5, a6, a7, filter.invokeExact(a8), a9,
       
  3266                                  a10, a11, a12, a13, a14, a15, a16, a17); }
       
  3267         protected Object invoke_V9(Object a0, Object a1, Object a2, Object a3,
       
  3268                                    Object a4, Object a5, Object a6, Object a7,
       
  3269                                    Object a8, Object a9, Object a10, Object a11,
       
  3270                                    Object a12, Object a13, Object a14, Object a15,
       
  3271                                    Object a16, Object a17) throws Throwable {
       
  3272             return target.invokeExact(a0, a1, a2, a3, a4, a5, a6, a7, a8, filter.invokeExact(a9),
       
  3273                                  a10, a11, a12, a13, a14, a15, a16, a17); }
       
  3274         protected Object invoke_V10(Object a0, Object a1, Object a2, Object a3,
       
  3275                                     Object a4, Object a5, Object a6, Object a7,
       
  3276                                     Object a8, Object a9, Object a10, Object a11,
       
  3277                                     Object a12, Object a13, Object a14, Object a15,
       
  3278                                     Object a16, Object a17) throws Throwable {
       
  3279             return target.invokeExact(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9,
       
  3280                                  filter.invokeExact(a10), a11, a12, a13, a14, a15, a16, a17); }
       
  3281         protected Object invoke_V11(Object a0, Object a1, Object a2, Object a3,
       
  3282                                     Object a4, Object a5, Object a6, Object a7,
       
  3283                                     Object a8, Object a9, Object a10, Object a11,
       
  3284                                     Object a12, Object a13, Object a14, Object a15,
       
  3285                                     Object a16, Object a17) throws Throwable {
       
  3286             return target.invokeExact(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9,
       
  3287                                  a10, filter.invokeExact(a11), a12, a13, a14, a15, a16, a17); }
       
  3288         protected Object invoke_V12(Object a0, Object a1, Object a2, Object a3,
       
  3289                                     Object a4, Object a5, Object a6, Object a7,
       
  3290                                     Object a8, Object a9, Object a10, Object a11,
       
  3291                                     Object a12, Object a13, Object a14, Object a15,
       
  3292                                     Object a16, Object a17) throws Throwable {
       
  3293             return target.invokeExact(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9,
       
  3294                                  a10, a11, filter.invokeExact(a12), a13, a14, a15, a16, a17); }
       
  3295         protected Object invoke_V13(Object a0, Object a1, Object a2, Object a3,
       
  3296                                     Object a4, Object a5, Object a6, Object a7,
       
  3297                                     Object a8, Object a9, Object a10, Object a11,
       
  3298                                     Object a12, Object a13, Object a14, Object a15,
       
  3299                                     Object a16, Object a17) throws Throwable {
       
  3300             return target.invokeExact(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9,
       
  3301                                  a10, a11, a12, filter.invokeExact(a13), a14, a15, a16, a17); }
       
  3302         protected Object invoke_V14(Object a0, Object a1, Object a2, Object a3,
       
  3303                                     Object a4, Object a5, Object a6, Object a7,
       
  3304                                     Object a8, Object a9, Object a10, Object a11,
       
  3305                                     Object a12, Object a13, Object a14, Object a15,
       
  3306                                     Object a16, Object a17) throws Throwable {
       
  3307             return target.invokeExact(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9,
       
  3308                                  a10, a11, a12, a13, filter.invokeExact(a14), a15, a16, a17); }
       
  3309         protected Object invoke_V15(Object a0, Object a1, Object a2, Object a3,
       
  3310                                     Object a4, Object a5, Object a6, Object a7,
       
  3311                                     Object a8, Object a9, Object a10, Object a11,
       
  3312                                     Object a12, Object a13, Object a14, Object a15,
       
  3313                                     Object a16, Object a17) throws Throwable {
       
  3314             return target.invokeExact(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9,
       
  3315                                  a10, a11, a12, a13, a14, filter.invokeExact(a15), a16, a17); }
       
  3316         protected Object invoke_V16(Object a0, Object a1, Object a2, Object a3,
       
  3317                                     Object a4, Object a5, Object a6, Object a7,
       
  3318                                     Object a8, Object a9, Object a10, Object a11,
       
  3319                                     Object a12, Object a13, Object a14, Object a15,
       
  3320                                     Object a16, Object a17) throws Throwable {
       
  3321             return target.invokeExact(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9,
       
  3322                                  a10, a11, a12, a13, a14, a15, filter.invokeExact(a16), a17); }
       
  3323         protected Object invoke_V17(Object a0, Object a1, Object a2, Object a3,
       
  3324                                     Object a4, Object a5, Object a6, Object a7,
       
  3325                                     Object a8, Object a9, Object a10, Object a11,
       
  3326                                     Object a12, Object a13, Object a14, Object a15,
       
  3327                                     Object a16, Object a17) throws Throwable {
       
  3328             return target.invokeExact(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9,
       
  3329                                  a10, a11, a12, a13, a14, a15, a16, filter.invokeExact(a17)); }
       
  3330         protected Object invoke_F0(Object a0, Object a1, Object a2, Object a3,
       
  3331                                    Object a4, Object a5, Object a6, Object a7,
       
  3332                                    Object a8, Object a9, Object a10, Object a11,
       
  3333                                    Object a12, Object a13, Object a14, Object a15,
       
  3334                                    Object a16, Object a17) throws Throwable {
       
  3335             return target.invokeExact(filter.invokeExact(),
       
  3336                                  a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17); }
       
  3337         protected Object invoke_F1(Object a0, Object a1, Object a2, Object a3,
       
  3338                                    Object a4, Object a5, Object a6, Object a7,
       
  3339                                    Object a8, Object a9, Object a10, Object a11,
       
  3340                                    Object a12, Object a13, Object a14, Object a15,
       
  3341                                    Object a16, Object a17) throws Throwable {
       
  3342             return target.invokeExact(filter.invokeExact(a0),
       
  3343                                  a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17); }
       
  3344         protected Object invoke_F2(Object a0, Object a1, Object a2, Object a3,
       
  3345                                    Object a4, Object a5, Object a6, Object a7,
       
  3346                                    Object a8, Object a9, Object a10, Object a11,
       
  3347                                    Object a12, Object a13, Object a14, Object a15,
       
  3348                                    Object a16, Object a17) throws Throwable {
       
  3349             return target.invokeExact(filter.invokeExact(a0, a1),
       
  3350                                  a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17); }
       
  3351         protected Object invoke_F3(Object a0, Object a1, Object a2, Object a3,
       
  3352                                    Object a4, Object a5, Object a6, Object a7,
       
  3353                                    Object a8, Object a9, Object a10, Object a11,
       
  3354                                    Object a12, Object a13, Object a14, Object a15,
       
  3355                                    Object a16, Object a17) throws Throwable {
       
  3356             return target.invokeExact(filter.invokeExact(a0, a1, a2),
       
  3357                                  a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17); }
       
  3358         protected Object invoke_F4(Object a0, Object a1, Object a2, Object a3,
       
  3359                                    Object a4, Object a5, Object a6, Object a7,
       
  3360                                    Object a8, Object a9, Object a10, Object a11,
       
  3361                                    Object a12, Object a13, Object a14, Object a15,
       
  3362                                    Object a16, Object a17) throws Throwable {
       
  3363             return target.invokeExact(filter.invokeExact(a0, a1, a2, a3),
       
  3364                                  a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17); }
       
  3365         protected Object invoke_F5(Object a0, Object a1, Object a2, Object a3,
       
  3366                                    Object a4, Object a5, Object a6, Object a7,
       
  3367                                    Object a8, Object a9, Object a10, Object a11,
       
  3368                                    Object a12, Object a13, Object a14, Object a15,
       
  3369                                    Object a16, Object a17) throws Throwable {
       
  3370             return target.invokeExact(filter.invokeExact(a0, a1, a2, a3, a4),
       
  3371                                  a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17); }
       
  3372         protected Object invoke_F6(Object a0, Object a1, Object a2, Object a3,
       
  3373                                    Object a4, Object a5, Object a6, Object a7,
       
  3374                                    Object a8, Object a9, Object a10, Object a11,
       
  3375                                    Object a12, Object a13, Object a14, Object a15,
       
  3376                                    Object a16, Object a17) throws Throwable {
       
  3377             return target.invokeExact(filter.invokeExact(a0, a1, a2, a3, a4, a5),
       
  3378                                  a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17); }
       
  3379         protected Object invoke_F7(Object a0, Object a1, Object a2, Object a3,
       
  3380                                    Object a4, Object a5, Object a6, Object a7,
       
  3381                                    Object a8, Object a9, Object a10, Object a11,
       
  3382                                    Object a12, Object a13, Object a14, Object a15,
       
  3383                                    Object a16, Object a17) throws Throwable {
       
  3384             return target.invokeExact(filter.invokeExact(a0, a1, a2, a3, a4, a5, a6),
       
  3385                                  a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17); }
       
  3386         protected Object invoke_F8(Object a0, Object a1, Object a2, Object a3,
       
  3387                                    Object a4, Object a5, Object a6, Object a7,
       
  3388                                    Object a8, Object a9, Object a10, Object a11,
       
  3389                                    Object a12, Object a13, Object a14, Object a15,
       
  3390                                    Object a16, Object a17) throws Throwable {
       
  3391             return target.invokeExact(filter.invokeExact(a0, a1, a2, a3, a4, a5, a6, a7),
       
  3392                                  a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17); }
       
  3393         protected Object invoke_F9(Object a0, Object a1, Object a2, Object a3,
       
  3394                                    Object a4, Object a5, Object a6, Object a7,
       
  3395                                    Object a8, Object a9, Object a10, Object a11,
       
  3396                                    Object a12, Object a13, Object a14, Object a15,
       
  3397                                    Object a16, Object a17) throws Throwable {
       
  3398             return target.invokeExact(filter.invokeExact(a0, a1, a2, a3, a4, a5, a6, a7, a8),
       
  3399                                  a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17); }
       
  3400         protected Object invoke_F10(Object a0, Object a1, Object a2, Object a3,
       
  3401                                     Object a4, Object a5, Object a6, Object a7,
       
  3402                                     Object a8, Object a9, Object a10, Object a11,
       
  3403                                     Object a12, Object a13, Object a14, Object a15,
       
  3404                                     Object a16, Object a17) throws Throwable {
       
  3405             return target.invokeExact(filter.invokeExact(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9),
       
  3406                                  a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17); }
       
  3407         protected Object invoke_F11(Object a0, Object a1, Object a2, Object a3,
       
  3408                                     Object a4, Object a5, Object a6, Object a7,
       
  3409                                     Object a8, Object a9, Object a10, Object a11,
       
  3410                                     Object a12, Object a13, Object a14, Object a15,
       
  3411                                     Object a16, Object a17) throws Throwable {
       
  3412             return target.invokeExact(filter.invokeExact(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9,
       
  3413                                  a10),
       
  3414                                  a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17); }
       
  3415         protected Object invoke_F12(Object a0, Object a1, Object a2, Object a3,
       
  3416                                     Object a4, Object a5, Object a6, Object a7,
       
  3417                                     Object a8, Object a9, Object a10, Object a11,
       
  3418                                     Object a12, Object a13, Object a14, Object a15,
       
  3419                                     Object a16, Object a17) throws Throwable {
       
  3420             return target.invokeExact(filter.invokeExact(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9,
       
  3421                                  a10, a11),
       
  3422                                  a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17); }
       
  3423         protected Object invoke_F13(Object a0, Object a1, Object a2, Object a3,
       
  3424                                     Object a4, Object a5, Object a6, Object a7,
       
  3425                                     Object a8, Object a9, Object a10, Object a11,
       
  3426                                     Object a12, Object a13, Object a14, Object a15,
       
  3427                                     Object a16, Object a17) throws Throwable {
       
  3428             return target.invokeExact(filter.invokeExact(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9,
       
  3429                                  a10, a11, a12),
       
  3430                                  a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17); }
       
  3431         protected Object invoke_F14(Object a0, Object a1, Object a2, Object a3,
       
  3432                                     Object a4, Object a5, Object a6, Object a7,
       
  3433                                     Object a8, Object a9, Object a10, Object a11,
       
  3434                                     Object a12, Object a13, Object a14, Object a15,
       
  3435                                     Object a16, Object a17) throws Throwable {
       
  3436             return target.invokeExact(filter.invokeExact(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9,
       
  3437                                  a10, a11, a12, a13),
       
  3438                                  a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17); }
       
  3439         protected Object invoke_F15(Object a0, Object a1, Object a2, Object a3,
       
  3440                                     Object a4, Object a5, Object a6, Object a7,
       
  3441                                     Object a8, Object a9, Object a10, Object a11,
       
  3442                                     Object a12, Object a13, Object a14, Object a15,
       
  3443                                     Object a16, Object a17) throws Throwable {
       
  3444             return target.invokeExact(filter.invokeExact(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9,
       
  3445                                  a10, a11, a12, a13, a14),
       
  3446                                  a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17); }
       
  3447         protected Object invoke_F16(Object a0, Object a1, Object a2, Object a3,
       
  3448                                     Object a4, Object a5, Object a6, Object a7,
       
  3449                                     Object a8, Object a9, Object a10, Object a11,
       
  3450                                     Object a12, Object a13, Object a14, Object a15,
       
  3451                                     Object a16, Object a17) throws Throwable {
       
  3452             return target.invokeExact(filter.invokeExact(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9,
       
  3453                                  a10, a11, a12, a13, a14, a15),
       
  3454                                  a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17); }
       
  3455         protected Object invoke_F17(Object a0, Object a1, Object a2, Object a3,
       
  3456                                     Object a4, Object a5, Object a6, Object a7,
       
  3457                                     Object a8, Object a9, Object a10, Object a11,
       
  3458                                     Object a12, Object a13, Object a14, Object a15,
       
  3459                                     Object a16, Object a17) throws Throwable {
       
  3460             return target.invokeExact(filter.invokeExact(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9,
       
  3461                                  a10, a11, a12, a13, a14, a15, a16),
       
  3462                                  a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17); }
       
  3463         protected Object invoke_F18(Object a0, Object a1, Object a2, Object a3,
       
  3464                                    Object a4, Object a5, Object a6, Object a7,
       
  3465                                    Object a8, Object a9, Object a10, Object a11,
       
  3466                                    Object a12, Object a13, Object a14, Object a15,
       
  3467                                    Object a16, Object a17) throws Throwable {
       
  3468             return target.invokeExact(filter.invokeExact(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17),
       
  3469                                  a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17); }
       
  3470         protected Object invoke_C0(Object a0, Object a1, Object a2, Object a3,
       
  3471                                    Object a4, Object a5, Object a6, Object a7,
       
  3472                                    Object a8, Object a9, Object a10, Object a11,
       
  3473                                    Object a12, Object a13, Object a14, Object a15,
       
  3474                                    Object a16, Object a17) throws Throwable {
       
  3475             return target.invokeExact(filter.invokeExact(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9,
       
  3476                                  a10, a11, a12, a13, a14, a15, a16, a17)); }
       
  3477         protected Object invoke_C1(Object a0, Object a1, Object a2, Object a3,
       
  3478                                    Object a4, Object a5, Object a6, Object a7,
       
  3479                                    Object a8, Object a9, Object a10, Object a11,
       
  3480                                    Object a12, Object a13, Object a14, Object a15,
       
  3481                                    Object a16, Object a17) throws Throwable {
       
  3482             return target.invokeExact(a0, filter.invokeExact(a1, a2, a3, a4, a5, a6, a7, a8, a9,
       
  3483                                  a10, a11, a12, a13, a14, a15, a16, a17)); }
       
  3484         protected Object invoke_C2(Object a0, Object a1, Object a2, Object a3,
       
  3485                                    Object a4, Object a5, Object a6, Object a7,
       
  3486                                    Object a8, Object a9, Object a10, Object a11,
       
  3487                                    Object a12, Object a13, Object a14, Object a15,
       
  3488                                    Object a16, Object a17) throws Throwable {
       
  3489             return target.invokeExact(a0, a1, filter.invokeExact(a2, a3, a4, a5, a6, a7, a8, a9,
       
  3490                                  a10, a11, a12, a13, a14, a15, a16, a17)); }
       
  3491         protected Object invoke_C3(Object a0, Object a1, Object a2, Object a3,
       
  3492                                    Object a4, Object a5, Object a6, Object a7,
       
  3493                                    Object a8, Object a9, Object a10, Object a11,
       
  3494                                    Object a12, Object a13, Object a14, Object a15,
       
  3495                                    Object a16, Object a17) throws Throwable {
       
  3496             return target.invokeExact(a0, a1, a2, filter.invokeExact(a3, a4, a5, a6, a7, a8, a9,
       
  3497                                  a10, a11, a12, a13, a14, a15, a16, a17)); }
       
  3498         protected Object invoke_C4(Object a0, Object a1, Object a2, Object a3,
       
  3499                                    Object a4, Object a5, Object a6, Object a7,
       
  3500                                    Object a8, Object a9, Object a10, Object a11,
       
  3501                                    Object a12, Object a13, Object a14, Object a15,
       
  3502                                    Object a16, Object a17) throws Throwable {
       
  3503             return target.invokeExact(a0, a1, a2, a3, filter.invokeExact(a4, a5, a6, a7, a8, a9,
       
  3504                                  a10, a11, a12, a13, a14, a15, a16, a17)); }
       
  3505         protected Object invoke_C5(Object a0, Object a1, Object a2, Object a3,
       
  3506                                    Object a4, Object a5, Object a6, Object a7,
       
  3507                                    Object a8, Object a9, Object a10, Object a11,
       
  3508                                    Object a12, Object a13, Object a14, Object a15,
       
  3509                                    Object a16, Object a17) throws Throwable {
       
  3510             return target.invokeExact(a0, a1, a2, a3, a4, filter.invokeExact(a5, a6, a7, a8, a9,
       
  3511                                  a10, a11, a12, a13, a14, a15, a16, a17)); }
       
  3512         protected Object invoke_C6(Object a0, Object a1, Object a2, Object a3,
       
  3513                                    Object a4, Object a5, Object a6, Object a7,
       
  3514                                    Object a8, Object a9, Object a10, Object a11,
       
  3515                                    Object a12, Object a13, Object a14, Object a15,
       
  3516                                    Object a16, Object a17) throws Throwable {
       
  3517             return target.invokeExact(a0, a1, a2, a3, a4, a5, filter.invokeExact(a6, a7, a8, a9,
       
  3518                                  a10, a11, a12, a13, a14, a15, a16, a17)); }
       
  3519         protected Object invoke_C7(Object a0, Object a1, Object a2, Object a3,
       
  3520                                    Object a4, Object a5, Object a6, Object a7,
       
  3521                                    Object a8, Object a9, Object a10, Object a11,
       
  3522                                    Object a12, Object a13, Object a14, Object a15,
       
  3523                                    Object a16, Object a17) throws Throwable {
       
  3524             return target.invokeExact(a0, a1, a2, a3, a4, a5, a6, filter.invokeExact(a7, a8, a9,
       
  3525                                  a10, a11, a12, a13, a14, a15, a16, a17)); }
       
  3526         protected Object invoke_C8(Object a0, Object a1, Object a2, Object a3,
       
  3527                                    Object a4, Object a5, Object a6, Object a7,
       
  3528                                    Object a8, Object a9, Object a10, Object a11,
       
  3529                                    Object a12, Object a13, Object a14, Object a15,
       
  3530                                    Object a16, Object a17) throws Throwable {
       
  3531             return target.invokeExact(a0, a1, a2, a3, a4, a5, a6, a7, filter.invokeExact(a8, a9,
       
  3532                                  a10, a11, a12, a13, a14, a15, a16, a17)); }
       
  3533         protected Object invoke_C9(Object a0, Object a1, Object a2, Object a3,
       
  3534                                    Object a4, Object a5, Object a6, Object a7,
       
  3535                                    Object a8, Object a9, Object a10, Object a11,
       
  3536                                    Object a12, Object a13, Object a14, Object a15,
       
  3537                                    Object a16, Object a17) throws Throwable {
       
  3538             return target.invokeExact(a0, a1, a2, a3, a4, a5, a6, a7, a8, filter.invokeExact(a9,
       
  3539                                  a10, a11, a12, a13, a14, a15, a16, a17)); }
       
  3540         protected Object invoke_C10(Object a0, Object a1, Object a2, Object a3,
       
  3541                                     Object a4, Object a5, Object a6, Object a7,
       
  3542                                     Object a8, Object a9, Object a10, Object a11,
       
  3543                                     Object a12, Object a13, Object a14, Object a15,
       
  3544                                     Object a16, Object a17) throws Throwable {
       
  3545             return target.invokeExact(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, filter.invokeExact(a10, a11, a12, a13, a14, a15, a16, a17)); }
       
  3546         protected Object invoke_C11(Object a0, Object a1, Object a2, Object a3,
       
  3547                                     Object a4, Object a5, Object a6, Object a7,
       
  3548                                     Object a8, Object a9, Object a10, Object a11,
       
  3549                                     Object a12, Object a13, Object a14, Object a15,
       
  3550                                     Object a16, Object a17) throws Throwable {
       
  3551             return target.invokeExact(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9,
       
  3552                                  a10, filter.invokeExact(a11, a12, a13, a14, a15, a16, a17)); }
       
  3553         protected Object invoke_C12(Object a0, Object a1, Object a2, Object a3,
       
  3554                                     Object a4, Object a5, Object a6, Object a7,
       
  3555                                     Object a8, Object a9, Object a10, Object a11,
       
  3556                                     Object a12, Object a13, Object a14, Object a15,
       
  3557                                     Object a16, Object a17) throws Throwable {
       
  3558             return target.invokeExact(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9,
       
  3559                                  a10, a11, filter.invokeExact(a12, a13, a14, a15, a16, a17)); }
       
  3560         protected Object invoke_C13(Object a0, Object a1, Object a2, Object a3,
       
  3561                                     Object a4, Object a5, Object a6, Object a7,
       
  3562                                     Object a8, Object a9, Object a10, Object a11,
       
  3563                                     Object a12, Object a13, Object a14, Object a15,
       
  3564                                     Object a16, Object a17) throws Throwable {
       
  3565             return target.invokeExact(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9,
       
  3566                                  a10, a11, a12, filter.invokeExact(a13, a14, a15, a16, a17)); }
       
  3567         protected Object invoke_C14(Object a0, Object a1, Object a2, Object a3,
       
  3568                                     Object a4, Object a5, Object a6, Object a7,
       
  3569                                     Object a8, Object a9, Object a10, Object a11,
       
  3570                                     Object a12, Object a13, Object a14, Object a15,
       
  3571                                     Object a16, Object a17) throws Throwable {
       
  3572             return target.invokeExact(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9,
       
  3573                                  a10, a11, a12, a13, filter.invokeExact(a14, a15, a16, a17)); }
       
  3574         protected Object invoke_C15(Object a0, Object a1, Object a2, Object a3,
       
  3575                                     Object a4, Object a5, Object a6, Object a7,
       
  3576                                     Object a8, Object a9, Object a10, Object a11,
       
  3577                                     Object a12, Object a13, Object a14, Object a15,
       
  3578                                     Object a16, Object a17) throws Throwable {
       
  3579             return target.invokeExact(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9,
       
  3580                                  a10, a11, a12, a13, a14, filter.invokeExact(a15, a16, a17)); }
       
  3581         protected Object invoke_C16(Object a0, Object a1, Object a2, Object a3,
       
  3582                                     Object a4, Object a5, Object a6, Object a7,
       
  3583                                     Object a8, Object a9, Object a10, Object a11,
       
  3584                                     Object a12, Object a13, Object a14, Object a15,
       
  3585                                     Object a16, Object a17) throws Throwable {
       
  3586             return target.invokeExact(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9,
       
  3587                                  a10, a11, a12, a13, a14, a15, filter.invokeExact(a16, a17)); }
       
  3588         protected Object invoke_C17(Object a0, Object a1, Object a2, Object a3,
       
  3589                                     Object a4, Object a5, Object a6, Object a7,
       
  3590                                     Object a8, Object a9, Object a10, Object a11,
       
  3591                                     Object a12, Object a13, Object a14, Object a15,
       
  3592                                     Object a16, Object a17) throws Throwable {
       
  3593             return target.invokeExact(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9,
       
  3594                                  a10, a11, a12, a13, a14, a15, a16, filter.invokeExact(a17)); }
       
  3595         protected Object invoke_C18(Object a0, Object a1, Object a2, Object a3,
       
  3596                                    Object a4, Object a5, Object a6, Object a7,
       
  3597                                    Object a8, Object a9, Object a10, Object a11,
       
  3598                                    Object a12, Object a13, Object a14, Object a15,
       
  3599                                    Object a16, Object a17) throws Throwable {
       
  3600             return target.invokeExact(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, filter.invokeExact()); }
       
  3601         protected Object invoke_Y0(Object a0, Object a1, Object a2, Object a3,
       
  3602                                    Object a4, Object a5, Object a6, Object a7,
       
  3603                                    Object a8, Object a9, Object a10, Object a11,
       
  3604                                    Object a12, Object a13, Object a14, Object a15,
       
  3605                                    Object a16, Object a17) throws Throwable {
       
  3606             Object[] av = { a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17 };
       
  3607             filter.invokeExact(av); // make the flyby
       
  3608             return target.invokeExact(av[0], av[1], av[2], av[3], av[4], av[5], av[6], av[7], av[8], av[9], av[10], av[11], av[12], av[13], av[14], av[15], av[16], av[17]); }
       
  3609     }
       
  3610     static class F19 extends Adapter {
       
  3611         protected F19(MethodHandle entryPoint) { super(entryPoint); }  // to build prototype
       
  3612         protected F19(MethodHandle e, MethodHandle f, MethodHandle t) {
       
  3613             super(e, f, t); }
       
  3614         protected F19 makeInstance(MethodHandle e, MethodHandle f, MethodHandle t) {
       
  3615             return new F19(e, f, t); }
       
  3616         protected Object invoke_V0(Object a0, Object a1, Object a2, Object a3,
       
  3617                                    Object a4, Object a5, Object a6, Object a7,
       
  3618                                    Object a8, Object a9, Object a10, Object a11,
       
  3619                                    Object a12, Object a13, Object a14, Object a15,
       
  3620                                    Object a16, Object a17, Object a18) throws Throwable {
       
  3621             return target.invokeExact(filter.invokeExact(a0), a1, a2, a3, a4, a5, a6, a7, a8, a9,
       
  3622                                  a10, a11, a12, a13, a14, a15, a16, a17, a18); }
       
  3623         protected Object invoke_V1(Object a0, Object a1, Object a2, Object a3,
       
  3624                                    Object a4, Object a5, Object a6, Object a7,
       
  3625                                    Object a8, Object a9, Object a10, Object a11,
       
  3626                                    Object a12, Object a13, Object a14, Object a15,
       
  3627                                    Object a16, Object a17, Object a18) throws Throwable {
       
  3628             return target.invokeExact(a0, filter.invokeExact(a1), a2, a3, a4, a5, a6, a7, a8, a9,
       
  3629                                  a10, a11, a12, a13, a14, a15, a16, a17, a18); }
       
  3630         protected Object invoke_V2(Object a0, Object a1, Object a2, Object a3,
       
  3631                                    Object a4, Object a5, Object a6, Object a7,
       
  3632                                    Object a8, Object a9, Object a10, Object a11,
       
  3633                                    Object a12, Object a13, Object a14, Object a15,
       
  3634                                    Object a16, Object a17, Object a18) throws Throwable {
       
  3635             return target.invokeExact(a0, a1, filter.invokeExact(a2), a3, a4, a5, a6, a7, a8, a9,
       
  3636                                  a10, a11, a12, a13, a14, a15, a16, a17, a18); }
       
  3637         protected Object invoke_V3(Object a0, Object a1, Object a2, Object a3,
       
  3638                                    Object a4, Object a5, Object a6, Object a7,
       
  3639                                    Object a8, Object a9, Object a10, Object a11,
       
  3640                                    Object a12, Object a13, Object a14, Object a15,
       
  3641                                    Object a16, Object a17, Object a18) throws Throwable {
       
  3642             return target.invokeExact(a0, a1, a2, filter.invokeExact(a3), a4, a5, a6, a7, a8, a9,
       
  3643                                  a10, a11, a12, a13, a14, a15, a16, a17, a18); }
       
  3644         protected Object invoke_V4(Object a0, Object a1, Object a2, Object a3,
       
  3645                                    Object a4, Object a5, Object a6, Object a7,
       
  3646                                    Object a8, Object a9, Object a10, Object a11,
       
  3647                                    Object a12, Object a13, Object a14, Object a15,
       
  3648                                    Object a16, Object a17, Object a18) throws Throwable {
       
  3649             return target.invokeExact(a0, a1, a2, a3, filter.invokeExact(a4), a5, a6, a7, a8, a9,
       
  3650                                  a10, a11, a12, a13, a14, a15, a16, a17, a18); }
       
  3651         protected Object invoke_V5(Object a0, Object a1, Object a2, Object a3,
       
  3652                                    Object a4, Object a5, Object a6, Object a7,
       
  3653                                    Object a8, Object a9, Object a10, Object a11,
       
  3654                                    Object a12, Object a13, Object a14, Object a15,
       
  3655                                    Object a16, Object a17, Object a18) throws Throwable {
       
  3656             return target.invokeExact(a0, a1, a2, a3, a4, filter.invokeExact(a5), a6, a7, a8, a9,
       
  3657                                  a10, a11, a12, a13, a14, a15, a16, a17, a18); }
       
  3658         protected Object invoke_V6(Object a0, Object a1, Object a2, Object a3,
       
  3659                                    Object a4, Object a5, Object a6, Object a7,
       
  3660                                    Object a8, Object a9, Object a10, Object a11,
       
  3661                                    Object a12, Object a13, Object a14, Object a15,
       
  3662                                    Object a16, Object a17, Object a18) throws Throwable {
       
  3663             return target.invokeExact(a0, a1, a2, a3, a4, a5, filter.invokeExact(a6), a7, a8, a9,
       
  3664                                  a10, a11, a12, a13, a14, a15, a16, a17, a18); }
       
  3665         protected Object invoke_V7(Object a0, Object a1, Object a2, Object a3,
       
  3666                                    Object a4, Object a5, Object a6, Object a7,
       
  3667                                    Object a8, Object a9, Object a10, Object a11,
       
  3668                                    Object a12, Object a13, Object a14, Object a15,
       
  3669                                    Object a16, Object a17, Object a18) throws Throwable {
       
  3670             return target.invokeExact(a0, a1, a2, a3, a4, a5, a6, filter.invokeExact(a7), a8, a9,
       
  3671                                  a10, a11, a12, a13, a14, a15, a16, a17, a18); }
       
  3672         protected Object invoke_V8(Object a0, Object a1, Object a2, Object a3,
       
  3673                                    Object a4, Object a5, Object a6, Object a7,
       
  3674                                    Object a8, Object a9, Object a10, Object a11,
       
  3675                                    Object a12, Object a13, Object a14, Object a15,
       
  3676                                    Object a16, Object a17, Object a18) throws Throwable {
       
  3677             return target.invokeExact(a0, a1, a2, a3, a4, a5, a6, a7, filter.invokeExact(a8), a9,
       
  3678                                  a10, a11, a12, a13, a14, a15, a16, a17, a18); }
       
  3679         protected Object invoke_V9(Object a0, Object a1, Object a2, Object a3,
       
  3680                                    Object a4, Object a5, Object a6, Object a7,
       
  3681                                    Object a8, Object a9, Object a10, Object a11,
       
  3682                                    Object a12, Object a13, Object a14, Object a15,
       
  3683                                    Object a16, Object a17, Object a18) throws Throwable {
       
  3684             return target.invokeExact(a0, a1, a2, a3, a4, a5, a6, a7, a8, filter.invokeExact(a9),
       
  3685                                  a10, a11, a12, a13, a14, a15, a16, a17, a18); }
       
  3686         protected Object invoke_V10(Object a0, Object a1, Object a2, Object a3,
       
  3687                                     Object a4, Object a5, Object a6, Object a7,
       
  3688                                     Object a8, Object a9, Object a10, Object a11,
       
  3689                                     Object a12, Object a13, Object a14, Object a15,
       
  3690                                     Object a16, Object a17, Object a18) throws Throwable {
       
  3691             return target.invokeExact(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9,
       
  3692                                  filter.invokeExact(a10), a11, a12, a13, a14, a15, a16, a17, a18); }
       
  3693         protected Object invoke_V11(Object a0, Object a1, Object a2, Object a3,
       
  3694                                     Object a4, Object a5, Object a6, Object a7,
       
  3695                                     Object a8, Object a9, Object a10, Object a11,
       
  3696                                     Object a12, Object a13, Object a14, Object a15,
       
  3697                                     Object a16, Object a17, Object a18) throws Throwable {
       
  3698             return target.invokeExact(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9,
       
  3699                                  a10, filter.invokeExact(a11), a12, a13, a14, a15, a16, a17, a18); }
       
  3700         protected Object invoke_V12(Object a0, Object a1, Object a2, Object a3,
       
  3701                                     Object a4, Object a5, Object a6, Object a7,
       
  3702                                     Object a8, Object a9, Object a10, Object a11,
       
  3703                                     Object a12, Object a13, Object a14, Object a15,
       
  3704                                     Object a16, Object a17, Object a18) throws Throwable {
       
  3705             return target.invokeExact(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9,
       
  3706                                  a10, a11, filter.invokeExact(a12), a13, a14, a15, a16, a17, a18); }
       
  3707         protected Object invoke_V13(Object a0, Object a1, Object a2, Object a3,
       
  3708                                     Object a4, Object a5, Object a6, Object a7,
       
  3709                                     Object a8, Object a9, Object a10, Object a11,
       
  3710                                     Object a12, Object a13, Object a14, Object a15,
       
  3711                                     Object a16, Object a17, Object a18) throws Throwable {
       
  3712             return target.invokeExact(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9,
       
  3713                                  a10, a11, a12, filter.invokeExact(a13), a14, a15, a16, a17, a18); }
       
  3714         protected Object invoke_V14(Object a0, Object a1, Object a2, Object a3,
       
  3715                                     Object a4, Object a5, Object a6, Object a7,
       
  3716                                     Object a8, Object a9, Object a10, Object a11,
       
  3717                                     Object a12, Object a13, Object a14, Object a15,
       
  3718                                     Object a16, Object a17, Object a18) throws Throwable {
       
  3719             return target.invokeExact(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9,
       
  3720                                  a10, a11, a12, a13, filter.invokeExact(a14), a15, a16, a17, a18); }
       
  3721         protected Object invoke_V15(Object a0, Object a1, Object a2, Object a3,
       
  3722                                     Object a4, Object a5, Object a6, Object a7,
       
  3723                                     Object a8, Object a9, Object a10, Object a11,
       
  3724                                     Object a12, Object a13, Object a14, Object a15,
       
  3725                                     Object a16, Object a17, Object a18) throws Throwable {
       
  3726             return target.invokeExact(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9,
       
  3727                                  a10, a11, a12, a13, a14, filter.invokeExact(a15), a16, a17, a18); }
       
  3728         protected Object invoke_V16(Object a0, Object a1, Object a2, Object a3,
       
  3729                                     Object a4, Object a5, Object a6, Object a7,
       
  3730                                     Object a8, Object a9, Object a10, Object a11,
       
  3731                                     Object a12, Object a13, Object a14, Object a15,
       
  3732                                     Object a16, Object a17, Object a18) throws Throwable {
       
  3733             return target.invokeExact(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9,
       
  3734                                  a10, a11, a12, a13, a14, a15, filter.invokeExact(a16), a17, a18); }
       
  3735         protected Object invoke_V17(Object a0, Object a1, Object a2, Object a3,
       
  3736                                     Object a4, Object a5, Object a6, Object a7,
       
  3737                                     Object a8, Object a9, Object a10, Object a11,
       
  3738                                     Object a12, Object a13, Object a14, Object a15,
       
  3739                                     Object a16, Object a17, Object a18) throws Throwable {
       
  3740             return target.invokeExact(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9,
       
  3741                                  a10, a11, a12, a13, a14, a15, a16, filter.invokeExact(a17), a18); }
       
  3742         protected Object invoke_V18(Object a0, Object a1, Object a2, Object a3,
       
  3743                                     Object a4, Object a5, Object a6, Object a7,
       
  3744                                     Object a8, Object a9, Object a10, Object a11,
       
  3745                                     Object a12, Object a13, Object a14, Object a15,
       
  3746                                     Object a16, Object a17, Object a18) throws Throwable {
       
  3747             return target.invokeExact(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9,
       
  3748                                  a10, a11, a12, a13, a14, a15, a16, a17, filter.invokeExact(a18)); }
       
  3749         protected Object invoke_F0(Object a0, Object a1, Object a2, Object a3,
       
  3750                                    Object a4, Object a5, Object a6, Object a7,
       
  3751                                    Object a8, Object a9, Object a10, Object a11,
       
  3752                                    Object a12, Object a13, Object a14, Object a15,
       
  3753                                    Object a16, Object a17, Object a18) throws Throwable {
       
  3754             return target.invokeExact(filter.invokeExact(),
       
  3755                                  a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18); }
       
  3756         protected Object invoke_F1(Object a0, Object a1, Object a2, Object a3,
       
  3757                                    Object a4, Object a5, Object a6, Object a7,
       
  3758                                    Object a8, Object a9, Object a10, Object a11,
       
  3759                                    Object a12, Object a13, Object a14, Object a15,
       
  3760                                    Object a16, Object a17, Object a18) throws Throwable {
       
  3761             return target.invokeExact(filter.invokeExact(a0),
       
  3762                                  a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18); }
       
  3763         protected Object invoke_F2(Object a0, Object a1, Object a2, Object a3,
       
  3764                                    Object a4, Object a5, Object a6, Object a7,
       
  3765                                    Object a8, Object a9, Object a10, Object a11,
       
  3766                                    Object a12, Object a13, Object a14, Object a15,
       
  3767                                    Object a16, Object a17, Object a18) throws Throwable {
       
  3768             return target.invokeExact(filter.invokeExact(a0, a1),
       
  3769                                  a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18); }
       
  3770         protected Object invoke_F3(Object a0, Object a1, Object a2, Object a3,
       
  3771                                    Object a4, Object a5, Object a6, Object a7,
       
  3772                                    Object a8, Object a9, Object a10, Object a11,
       
  3773                                    Object a12, Object a13, Object a14, Object a15,
       
  3774                                    Object a16, Object a17, Object a18) throws Throwable {
       
  3775             return target.invokeExact(filter.invokeExact(a0, a1, a2),
       
  3776                                  a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18); }
       
  3777         protected Object invoke_F4(Object a0, Object a1, Object a2, Object a3,
       
  3778                                    Object a4, Object a5, Object a6, Object a7,
       
  3779                                    Object a8, Object a9, Object a10, Object a11,
       
  3780                                    Object a12, Object a13, Object a14, Object a15,
       
  3781                                    Object a16, Object a17, Object a18) throws Throwable {
       
  3782             return target.invokeExact(filter.invokeExact(a0, a1, a2, a3),
       
  3783                                  a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18); }
       
  3784         protected Object invoke_F5(Object a0, Object a1, Object a2, Object a3,
       
  3785                                    Object a4, Object a5, Object a6, Object a7,
       
  3786                                    Object a8, Object a9, Object a10, Object a11,
       
  3787                                    Object a12, Object a13, Object a14, Object a15,
       
  3788                                    Object a16, Object a17, Object a18) throws Throwable {
       
  3789             return target.invokeExact(filter.invokeExact(a0, a1, a2, a3, a4),
       
  3790                                  a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18); }
       
  3791         protected Object invoke_F6(Object a0, Object a1, Object a2, Object a3,
       
  3792                                    Object a4, Object a5, Object a6, Object a7,
       
  3793                                    Object a8, Object a9, Object a10, Object a11,
       
  3794                                    Object a12, Object a13, Object a14, Object a15,
       
  3795                                    Object a16, Object a17, Object a18) throws Throwable {
       
  3796             return target.invokeExact(filter.invokeExact(a0, a1, a2, a3, a4, a5),
       
  3797                                  a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18); }
       
  3798         protected Object invoke_F7(Object a0, Object a1, Object a2, Object a3,
       
  3799                                    Object a4, Object a5, Object a6, Object a7,
       
  3800                                    Object a8, Object a9, Object a10, Object a11,
       
  3801                                    Object a12, Object a13, Object a14, Object a15,
       
  3802                                    Object a16, Object a17, Object a18) throws Throwable {
       
  3803             return target.invokeExact(filter.invokeExact(a0, a1, a2, a3, a4, a5, a6),
       
  3804                                  a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18); }
       
  3805         protected Object invoke_F8(Object a0, Object a1, Object a2, Object a3,
       
  3806                                    Object a4, Object a5, Object a6, Object a7,
       
  3807                                    Object a8, Object a9, Object a10, Object a11,
       
  3808                                    Object a12, Object a13, Object a14, Object a15,
       
  3809                                    Object a16, Object a17, Object a18) throws Throwable {
       
  3810             return target.invokeExact(filter.invokeExact(a0, a1, a2, a3, a4, a5, a6, a7),
       
  3811                                  a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18); }
       
  3812         protected Object invoke_F9(Object a0, Object a1, Object a2, Object a3,
       
  3813                                    Object a4, Object a5, Object a6, Object a7,
       
  3814                                    Object a8, Object a9, Object a10, Object a11,
       
  3815                                    Object a12, Object a13, Object a14, Object a15,
       
  3816                                    Object a16, Object a17, Object a18) throws Throwable {
       
  3817             return target.invokeExact(filter.invokeExact(a0, a1, a2, a3, a4, a5, a6, a7, a8),
       
  3818                                  a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18); }
       
  3819         protected Object invoke_F10(Object a0, Object a1, Object a2, Object a3,
       
  3820                                     Object a4, Object a5, Object a6, Object a7,
       
  3821                                     Object a8, Object a9, Object a10, Object a11,
       
  3822                                     Object a12, Object a13, Object a14, Object a15,
       
  3823                                     Object a16, Object a17, Object a18) throws Throwable {
       
  3824             return target.invokeExact(filter.invokeExact(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9),
       
  3825                                  a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18); }
       
  3826         protected Object invoke_F11(Object a0, Object a1, Object a2, Object a3,
       
  3827                                     Object a4, Object a5, Object a6, Object a7,
       
  3828                                     Object a8, Object a9, Object a10, Object a11,
       
  3829                                     Object a12, Object a13, Object a14, Object a15,
       
  3830                                     Object a16, Object a17, Object a18) throws Throwable {
       
  3831             return target.invokeExact(filter.invokeExact(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9,
       
  3832                                  a10),
       
  3833                                  a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18); }
       
  3834         protected Object invoke_F12(Object a0, Object a1, Object a2, Object a3,
       
  3835                                     Object a4, Object a5, Object a6, Object a7,
       
  3836                                     Object a8, Object a9, Object a10, Object a11,
       
  3837                                     Object a12, Object a13, Object a14, Object a15,
       
  3838                                     Object a16, Object a17, Object a18) throws Throwable {
       
  3839             return target.invokeExact(filter.invokeExact(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9,
       
  3840                                  a10, a11),
       
  3841                                  a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18); }
       
  3842         protected Object invoke_F13(Object a0, Object a1, Object a2, Object a3,
       
  3843                                     Object a4, Object a5, Object a6, Object a7,
       
  3844                                     Object a8, Object a9, Object a10, Object a11,
       
  3845                                     Object a12, Object a13, Object a14, Object a15,
       
  3846                                     Object a16, Object a17, Object a18) throws Throwable {
       
  3847             return target.invokeExact(filter.invokeExact(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9,
       
  3848                                  a10, a11, a12),
       
  3849                                  a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18); }
       
  3850         protected Object invoke_F14(Object a0, Object a1, Object a2, Object a3,
       
  3851                                     Object a4, Object a5, Object a6, Object a7,
       
  3852                                     Object a8, Object a9, Object a10, Object a11,
       
  3853                                     Object a12, Object a13, Object a14, Object a15,
       
  3854                                     Object a16, Object a17, Object a18) throws Throwable {
       
  3855             return target.invokeExact(filter.invokeExact(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9,
       
  3856                                  a10, a11, a12, a13),
       
  3857                                  a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18); }
       
  3858         protected Object invoke_F15(Object a0, Object a1, Object a2, Object a3,
       
  3859                                     Object a4, Object a5, Object a6, Object a7,
       
  3860                                     Object a8, Object a9, Object a10, Object a11,
       
  3861                                     Object a12, Object a13, Object a14, Object a15,
       
  3862                                     Object a16, Object a17, Object a18) throws Throwable {
       
  3863             return target.invokeExact(filter.invokeExact(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9,
       
  3864                                  a10, a11, a12, a13, a14),
       
  3865                                  a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18); }
       
  3866         protected Object invoke_F16(Object a0, Object a1, Object a2, Object a3,
       
  3867                                     Object a4, Object a5, Object a6, Object a7,
       
  3868                                     Object a8, Object a9, Object a10, Object a11,
       
  3869                                     Object a12, Object a13, Object a14, Object a15,
       
  3870                                     Object a16, Object a17, Object a18) throws Throwable {
       
  3871             return target.invokeExact(filter.invokeExact(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9,
       
  3872                                  a10, a11, a12, a13, a14, a15),
       
  3873                                  a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18); }
       
  3874         protected Object invoke_F17(Object a0, Object a1, Object a2, Object a3,
       
  3875                                     Object a4, Object a5, Object a6, Object a7,
       
  3876                                     Object a8, Object a9, Object a10, Object a11,
       
  3877                                     Object a12, Object a13, Object a14, Object a15,
       
  3878                                     Object a16, Object a17, Object a18) throws Throwable {
       
  3879             return target.invokeExact(filter.invokeExact(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9,
       
  3880                                  a10, a11, a12, a13, a14, a15, a16),
       
  3881                                  a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18); }
       
  3882         protected Object invoke_F18(Object a0, Object a1, Object a2, Object a3,
       
  3883                                     Object a4, Object a5, Object a6, Object a7,
       
  3884                                     Object a8, Object a9, Object a10, Object a11,
       
  3885                                     Object a12, Object a13, Object a14, Object a15,
       
  3886                                     Object a16, Object a17, Object a18) throws Throwable {
       
  3887             return target.invokeExact(filter.invokeExact(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9,
       
  3888                                  a10, a11, a12, a13, a14, a15, a16, a17),
       
  3889                                  a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18); }
       
  3890         protected Object invoke_F19(Object a0, Object a1, Object a2, Object a3,
       
  3891                                    Object a4, Object a5, Object a6, Object a7,
       
  3892                                    Object a8, Object a9, Object a10, Object a11,
       
  3893                                    Object a12, Object a13, Object a14, Object a15,
       
  3894                                    Object a16, Object a17, Object a18) throws Throwable {
       
  3895             return target.invokeExact(filter.invokeExact(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18),
       
  3896                                  a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18); }
       
  3897         protected Object invoke_C0(Object a0, Object a1, Object a2, Object a3,
       
  3898                                    Object a4, Object a5, Object a6, Object a7,
       
  3899                                    Object a8, Object a9, Object a10, Object a11,
       
  3900                                    Object a12, Object a13, Object a14, Object a15,
       
  3901                                    Object a16, Object a17, Object a18) throws Throwable {
       
  3902             return target.invokeExact(filter.invokeExact(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9,
       
  3903                                  a10, a11, a12, a13, a14, a15, a16, a17, a18)); }
       
  3904         protected Object invoke_C1(Object a0, Object a1, Object a2, Object a3,
       
  3905                                    Object a4, Object a5, Object a6, Object a7,
       
  3906                                    Object a8, Object a9, Object a10, Object a11,
       
  3907                                    Object a12, Object a13, Object a14, Object a15,
       
  3908                                    Object a16, Object a17, Object a18) throws Throwable {
       
  3909             return target.invokeExact(a0, filter.invokeExact(a1, a2, a3, a4, a5, a6, a7, a8, a9,
       
  3910                                  a10, a11, a12, a13, a14, a15, a16, a17, a18)); }
       
  3911         protected Object invoke_C2(Object a0, Object a1, Object a2, Object a3,
       
  3912                                    Object a4, Object a5, Object a6, Object a7,
       
  3913                                    Object a8, Object a9, Object a10, Object a11,
       
  3914                                    Object a12, Object a13, Object a14, Object a15,
       
  3915                                    Object a16, Object a17, Object a18) throws Throwable {
       
  3916             return target.invokeExact(a0, a1, filter.invokeExact(a2, a3, a4, a5, a6, a7, a8, a9,
       
  3917                                  a10, a11, a12, a13, a14, a15, a16, a17, a18)); }
       
  3918         protected Object invoke_C3(Object a0, Object a1, Object a2, Object a3,
       
  3919                                    Object a4, Object a5, Object a6, Object a7,
       
  3920                                    Object a8, Object a9, Object a10, Object a11,
       
  3921                                    Object a12, Object a13, Object a14, Object a15,
       
  3922                                    Object a16, Object a17, Object a18) throws Throwable {
       
  3923             return target.invokeExact(a0, a1, a2, filter.invokeExact(a3, a4, a5, a6, a7, a8, a9,
       
  3924                                  a10, a11, a12, a13, a14, a15, a16, a17, a18)); }
       
  3925         protected Object invoke_C4(Object a0, Object a1, Object a2, Object a3,
       
  3926                                    Object a4, Object a5, Object a6, Object a7,
       
  3927                                    Object a8, Object a9, Object a10, Object a11,
       
  3928                                    Object a12, Object a13, Object a14, Object a15,
       
  3929                                    Object a16, Object a17, Object a18) throws Throwable {
       
  3930             return target.invokeExact(a0, a1, a2, a3, filter.invokeExact(a4, a5, a6, a7, a8, a9,
       
  3931                                  a10, a11, a12, a13, a14, a15, a16, a17, a18)); }
       
  3932         protected Object invoke_C5(Object a0, Object a1, Object a2, Object a3,
       
  3933                                    Object a4, Object a5, Object a6, Object a7,
       
  3934                                    Object a8, Object a9, Object a10, Object a11,
       
  3935                                    Object a12, Object a13, Object a14, Object a15,
       
  3936                                    Object a16, Object a17, Object a18) throws Throwable {
       
  3937             return target.invokeExact(a0, a1, a2, a3, a4, filter.invokeExact(a5, a6, a7, a8, a9,
       
  3938                                  a10, a11, a12, a13, a14, a15, a16, a17, a18)); }
       
  3939         protected Object invoke_C6(Object a0, Object a1, Object a2, Object a3,
       
  3940                                    Object a4, Object a5, Object a6, Object a7,
       
  3941                                    Object a8, Object a9, Object a10, Object a11,
       
  3942                                    Object a12, Object a13, Object a14, Object a15,
       
  3943                                    Object a16, Object a17, Object a18) throws Throwable {
       
  3944             return target.invokeExact(a0, a1, a2, a3, a4, a5, filter.invokeExact(a6, a7, a8, a9,
       
  3945                                  a10, a11, a12, a13, a14, a15, a16, a17, a18)); }
       
  3946         protected Object invoke_C7(Object a0, Object a1, Object a2, Object a3,
       
  3947                                    Object a4, Object a5, Object a6, Object a7,
       
  3948                                    Object a8, Object a9, Object a10, Object a11,
       
  3949                                    Object a12, Object a13, Object a14, Object a15,
       
  3950                                    Object a16, Object a17, Object a18) throws Throwable {
       
  3951             return target.invokeExact(a0, a1, a2, a3, a4, a5, a6, filter.invokeExact(a7, a8, a9,
       
  3952                                  a10, a11, a12, a13, a14, a15, a16, a17, a18)); }
       
  3953         protected Object invoke_C8(Object a0, Object a1, Object a2, Object a3,
       
  3954                                    Object a4, Object a5, Object a6, Object a7,
       
  3955                                    Object a8, Object a9, Object a10, Object a11,
       
  3956                                    Object a12, Object a13, Object a14, Object a15,
       
  3957                                    Object a16, Object a17, Object a18) throws Throwable {
       
  3958             return target.invokeExact(a0, a1, a2, a3, a4, a5, a6, a7, filter.invokeExact(a8, a9,
       
  3959                                  a10, a11, a12, a13, a14, a15, a16, a17, a18)); }
       
  3960         protected Object invoke_C9(Object a0, Object a1, Object a2, Object a3,
       
  3961                                    Object a4, Object a5, Object a6, Object a7,
       
  3962                                    Object a8, Object a9, Object a10, Object a11,
       
  3963                                    Object a12, Object a13, Object a14, Object a15,
       
  3964                                    Object a16, Object a17, Object a18) throws Throwable {
       
  3965             return target.invokeExact(a0, a1, a2, a3, a4, a5, a6, a7, a8, filter.invokeExact(a9,
       
  3966                                  a10, a11, a12, a13, a14, a15, a16, a17, a18)); }
       
  3967         protected Object invoke_C10(Object a0, Object a1, Object a2, Object a3,
       
  3968                                     Object a4, Object a5, Object a6, Object a7,
       
  3969                                     Object a8, Object a9, Object a10, Object a11,
       
  3970                                     Object a12, Object a13, Object a14, Object a15,
       
  3971                                     Object a16, Object a17, Object a18) throws Throwable {
       
  3972             return target.invokeExact(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, filter.invokeExact(a10, a11, a12, a13, a14, a15, a16, a17, a18)); }
       
  3973         protected Object invoke_C11(Object a0, Object a1, Object a2, Object a3,
       
  3974                                     Object a4, Object a5, Object a6, Object a7,
       
  3975                                     Object a8, Object a9, Object a10, Object a11,
       
  3976                                     Object a12, Object a13, Object a14, Object a15,
       
  3977                                     Object a16, Object a17, Object a18) throws Throwable {
       
  3978             return target.invokeExact(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9,
       
  3979                                  a10, filter.invokeExact(a11, a12, a13, a14, a15, a16, a17, a18)); }
       
  3980         protected Object invoke_C12(Object a0, Object a1, Object a2, Object a3,
       
  3981                                     Object a4, Object a5, Object a6, Object a7,
       
  3982                                     Object a8, Object a9, Object a10, Object a11,
       
  3983                                     Object a12, Object a13, Object a14, Object a15,
       
  3984                                     Object a16, Object a17, Object a18) throws Throwable {
       
  3985             return target.invokeExact(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9,
       
  3986                                  a10, a11, filter.invokeExact(a12, a13, a14, a15, a16, a17, a18)); }
       
  3987         protected Object invoke_C13(Object a0, Object a1, Object a2, Object a3,
       
  3988                                     Object a4, Object a5, Object a6, Object a7,
       
  3989                                     Object a8, Object a9, Object a10, Object a11,
       
  3990                                     Object a12, Object a13, Object a14, Object a15,
       
  3991                                     Object a16, Object a17, Object a18) throws Throwable {
       
  3992             return target.invokeExact(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9,
       
  3993                                  a10, a11, a12, filter.invokeExact(a13, a14, a15, a16, a17, a18)); }
       
  3994         protected Object invoke_C14(Object a0, Object a1, Object a2, Object a3,
       
  3995                                     Object a4, Object a5, Object a6, Object a7,
       
  3996                                     Object a8, Object a9, Object a10, Object a11,
       
  3997                                     Object a12, Object a13, Object a14, Object a15,
       
  3998                                     Object a16, Object a17, Object a18) throws Throwable {
       
  3999             return target.invokeExact(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9,
       
  4000                                  a10, a11, a12, a13, filter.invokeExact(a14, a15, a16, a17, a18)); }
       
  4001         protected Object invoke_C15(Object a0, Object a1, Object a2, Object a3,
       
  4002                                     Object a4, Object a5, Object a6, Object a7,
       
  4003                                     Object a8, Object a9, Object a10, Object a11,
       
  4004                                     Object a12, Object a13, Object a14, Object a15,
       
  4005                                     Object a16, Object a17, Object a18) throws Throwable {
       
  4006             return target.invokeExact(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9,
       
  4007                                  a10, a11, a12, a13, a14, filter.invokeExact(a15, a16, a17, a18)); }
       
  4008         protected Object invoke_C16(Object a0, Object a1, Object a2, Object a3,
       
  4009                                     Object a4, Object a5, Object a6, Object a7,
       
  4010                                     Object a8, Object a9, Object a10, Object a11,
       
  4011                                     Object a12, Object a13, Object a14, Object a15,
       
  4012                                     Object a16, Object a17, Object a18) throws Throwable {
       
  4013             return target.invokeExact(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9,
       
  4014                                  a10, a11, a12, a13, a14, a15, filter.invokeExact(a16, a17, a18)); }
       
  4015         protected Object invoke_C17(Object a0, Object a1, Object a2, Object a3,
       
  4016                                     Object a4, Object a5, Object a6, Object a7,
       
  4017                                     Object a8, Object a9, Object a10, Object a11,
       
  4018                                     Object a12, Object a13, Object a14, Object a15,
       
  4019                                     Object a16, Object a17, Object a18) throws Throwable {
       
  4020             return target.invokeExact(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9,
       
  4021                                  a10, a11, a12, a13, a14, a15, a16, filter.invokeExact(a17, a18)); }
       
  4022         protected Object invoke_C18(Object a0, Object a1, Object a2, Object a3,
       
  4023                                     Object a4, Object a5, Object a6, Object a7,
       
  4024                                     Object a8, Object a9, Object a10, Object a11,
       
  4025                                     Object a12, Object a13, Object a14, Object a15,
       
  4026                                     Object a16, Object a17, Object a18) throws Throwable {
       
  4027             return target.invokeExact(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9,
       
  4028                                  a10, a11, a12, a13, a14, a15, a16, a17, filter.invokeExact(a18)); }
       
  4029         protected Object invoke_C19(Object a0, Object a1, Object a2, Object a3,
       
  4030                                    Object a4, Object a5, Object a6, Object a7,
       
  4031                                    Object a8, Object a9, Object a10, Object a11,
       
  4032                                    Object a12, Object a13, Object a14, Object a15,
       
  4033                                    Object a16, Object a17, Object a18) throws Throwable {
       
  4034             return target.invokeExact(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, filter.invokeExact()); }
       
  4035         protected Object invoke_Y0(Object a0, Object a1, Object a2, Object a3,
       
  4036                                    Object a4, Object a5, Object a6, Object a7,
       
  4037                                    Object a8, Object a9, Object a10, Object a11,
       
  4038                                    Object a12, Object a13, Object a14, Object a15,
       
  4039                                    Object a16, Object a17, Object a18) throws Throwable {
       
  4040             Object[] av = { a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18 };
       
  4041             filter.invokeExact(av); // make the flyby
       
  4042             return target.invokeExact(av[0], av[1], av[2], av[3], av[4], av[5], av[6], av[7], av[8], av[9], av[10], av[11], av[12], av[13], av[14], av[15], av[16], av[17], av[18]); }
       
  4043     }
       
  4044     static class F20 extends Adapter {
       
  4045         protected F20(MethodHandle entryPoint) { super(entryPoint); }  // to build prototype
       
  4046         protected F20(MethodHandle e, MethodHandle f, MethodHandle t) {
       
  4047             super(e, f, t); }
       
  4048         protected F20 makeInstance(MethodHandle e, MethodHandle f, MethodHandle t) {
       
  4049             return new F20(e, f, t); }
       
  4050         protected Object invoke_V0(Object a0, Object a1, Object a2, Object a3,
       
  4051                                    Object a4, Object a5, Object a6, Object a7,
       
  4052                                    Object a8, Object a9, Object a10, Object a11,
       
  4053                                    Object a12, Object a13, Object a14, Object a15,
       
  4054                                    Object a16, Object a17, Object a18, Object a19) throws Throwable {
       
  4055             return target.invokeExact(filter.invokeExact(a0), a1, a2, a3, a4, a5, a6, a7, a8, a9,
       
  4056                                  a10, a11, a12, a13, a14, a15, a16, a17, a18, a19); }
       
  4057         protected Object invoke_V1(Object a0, Object a1, Object a2, Object a3,
       
  4058                                    Object a4, Object a5, Object a6, Object a7,
       
  4059                                    Object a8, Object a9, Object a10, Object a11,
       
  4060                                    Object a12, Object a13, Object a14, Object a15,
       
  4061                                    Object a16, Object a17, Object a18, Object a19) throws Throwable {
       
  4062             return target.invokeExact(a0, filter.invokeExact(a1), a2, a3, a4, a5, a6, a7, a8, a9,
       
  4063                                  a10, a11, a12, a13, a14, a15, a16, a17, a18, a19); }
       
  4064         protected Object invoke_V2(Object a0, Object a1, Object a2, Object a3,
       
  4065                                    Object a4, Object a5, Object a6, Object a7,
       
  4066                                    Object a8, Object a9, Object a10, Object a11,
       
  4067                                    Object a12, Object a13, Object a14, Object a15,
       
  4068                                    Object a16, Object a17, Object a18, Object a19) throws Throwable {
       
  4069             return target.invokeExact(a0, a1, filter.invokeExact(a2), a3, a4, a5, a6, a7, a8, a9,
       
  4070                                  a10, a11, a12, a13, a14, a15, a16, a17, a18, a19); }
       
  4071         protected Object invoke_V3(Object a0, Object a1, Object a2, Object a3,
       
  4072                                    Object a4, Object a5, Object a6, Object a7,
       
  4073                                    Object a8, Object a9, Object a10, Object a11,
       
  4074                                    Object a12, Object a13, Object a14, Object a15,
       
  4075                                    Object a16, Object a17, Object a18, Object a19) throws Throwable {
       
  4076             return target.invokeExact(a0, a1, a2, filter.invokeExact(a3), a4, a5, a6, a7, a8, a9,
       
  4077                                  a10, a11, a12, a13, a14, a15, a16, a17, a18, a19); }
       
  4078         protected Object invoke_V4(Object a0, Object a1, Object a2, Object a3,
       
  4079                                    Object a4, Object a5, Object a6, Object a7,
       
  4080                                    Object a8, Object a9, Object a10, Object a11,
       
  4081                                    Object a12, Object a13, Object a14, Object a15,
       
  4082                                    Object a16, Object a17, Object a18, Object a19) throws Throwable {
       
  4083             return target.invokeExact(a0, a1, a2, a3, filter.invokeExact(a4), a5, a6, a7, a8, a9,
       
  4084                                  a10, a11, a12, a13, a14, a15, a16, a17, a18, a19); }
       
  4085         protected Object invoke_V5(Object a0, Object a1, Object a2, Object a3,
       
  4086                                    Object a4, Object a5, Object a6, Object a7,
       
  4087                                    Object a8, Object a9, Object a10, Object a11,
       
  4088                                    Object a12, Object a13, Object a14, Object a15,
       
  4089                                    Object a16, Object a17, Object a18, Object a19) throws Throwable {
       
  4090             return target.invokeExact(a0, a1, a2, a3, a4, filter.invokeExact(a5), a6, a7, a8, a9,
       
  4091                                  a10, a11, a12, a13, a14, a15, a16, a17, a18, a19); }
       
  4092         protected Object invoke_V6(Object a0, Object a1, Object a2, Object a3,
       
  4093                                    Object a4, Object a5, Object a6, Object a7,
       
  4094                                    Object a8, Object a9, Object a10, Object a11,
       
  4095                                    Object a12, Object a13, Object a14, Object a15,
       
  4096                                    Object a16, Object a17, Object a18, Object a19) throws Throwable {
       
  4097             return target.invokeExact(a0, a1, a2, a3, a4, a5, filter.invokeExact(a6), a7, a8, a9,
       
  4098                                  a10, a11, a12, a13, a14, a15, a16, a17, a18, a19); }
       
  4099         protected Object invoke_V7(Object a0, Object a1, Object a2, Object a3,
       
  4100                                    Object a4, Object a5, Object a6, Object a7,
       
  4101                                    Object a8, Object a9, Object a10, Object a11,
       
  4102                                    Object a12, Object a13, Object a14, Object a15,
       
  4103                                    Object a16, Object a17, Object a18, Object a19) throws Throwable {
       
  4104             return target.invokeExact(a0, a1, a2, a3, a4, a5, a6, filter.invokeExact(a7), a8, a9,
       
  4105                                  a10, a11, a12, a13, a14, a15, a16, a17, a18, a19); }
       
  4106         protected Object invoke_V8(Object a0, Object a1, Object a2, Object a3,
       
  4107                                    Object a4, Object a5, Object a6, Object a7,
       
  4108                                    Object a8, Object a9, Object a10, Object a11,
       
  4109                                    Object a12, Object a13, Object a14, Object a15,
       
  4110                                    Object a16, Object a17, Object a18, Object a19) throws Throwable {
       
  4111             return target.invokeExact(a0, a1, a2, a3, a4, a5, a6, a7, filter.invokeExact(a8), a9,
       
  4112                                  a10, a11, a12, a13, a14, a15, a16, a17, a18, a19); }
       
  4113         protected Object invoke_V9(Object a0, Object a1, Object a2, Object a3,
       
  4114                                    Object a4, Object a5, Object a6, Object a7,
       
  4115                                    Object a8, Object a9, Object a10, Object a11,
       
  4116                                    Object a12, Object a13, Object a14, Object a15,
       
  4117                                    Object a16, Object a17, Object a18, Object a19) throws Throwable {
       
  4118             return target.invokeExact(a0, a1, a2, a3, a4, a5, a6, a7, a8, filter.invokeExact(a9),
       
  4119                                  a10, a11, a12, a13, a14, a15, a16, a17, a18, a19); }
       
  4120         protected Object invoke_V10(Object a0, Object a1, Object a2, Object a3,
       
  4121                                     Object a4, Object a5, Object a6, Object a7,
       
  4122                                     Object a8, Object a9, Object a10, Object a11,
       
  4123                                     Object a12, Object a13, Object a14, Object a15,
       
  4124                                     Object a16, Object a17, Object a18, Object a19) throws Throwable {
       
  4125             return target.invokeExact(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9,
       
  4126                                  filter.invokeExact(a10), a11, a12, a13, a14, a15, a16, a17, a18, a19); }
       
  4127         protected Object invoke_V11(Object a0, Object a1, Object a2, Object a3,
       
  4128                                     Object a4, Object a5, Object a6, Object a7,
       
  4129                                     Object a8, Object a9, Object a10, Object a11,
       
  4130                                     Object a12, Object a13, Object a14, Object a15,
       
  4131                                     Object a16, Object a17, Object a18, Object a19) throws Throwable {
       
  4132             return target.invokeExact(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9,
       
  4133                                  a10, filter.invokeExact(a11), a12, a13, a14, a15, a16, a17, a18, a19); }
       
  4134         protected Object invoke_V12(Object a0, Object a1, Object a2, Object a3,
       
  4135                                     Object a4, Object a5, Object a6, Object a7,
       
  4136                                     Object a8, Object a9, Object a10, Object a11,
       
  4137                                     Object a12, Object a13, Object a14, Object a15,
       
  4138                                     Object a16, Object a17, Object a18, Object a19) throws Throwable {
       
  4139             return target.invokeExact(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9,
       
  4140                                  a10, a11, filter.invokeExact(a12), a13, a14, a15, a16, a17, a18, a19); }
       
  4141         protected Object invoke_V13(Object a0, Object a1, Object a2, Object a3,
       
  4142                                     Object a4, Object a5, Object a6, Object a7,
       
  4143                                     Object a8, Object a9, Object a10, Object a11,
       
  4144                                     Object a12, Object a13, Object a14, Object a15,
       
  4145                                     Object a16, Object a17, Object a18, Object a19) throws Throwable {
       
  4146             return target.invokeExact(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9,
       
  4147                                  a10, a11, a12, filter.invokeExact(a13), a14, a15, a16, a17, a18, a19); }
       
  4148         protected Object invoke_V14(Object a0, Object a1, Object a2, Object a3,
       
  4149                                     Object a4, Object a5, Object a6, Object a7,
       
  4150                                     Object a8, Object a9, Object a10, Object a11,
       
  4151                                     Object a12, Object a13, Object a14, Object a15,
       
  4152                                     Object a16, Object a17, Object a18, Object a19) throws Throwable {
       
  4153             return target.invokeExact(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9,
       
  4154                                  a10, a11, a12, a13, filter.invokeExact(a14), a15, a16, a17, a18, a19); }
       
  4155         protected Object invoke_V15(Object a0, Object a1, Object a2, Object a3,
       
  4156                                     Object a4, Object a5, Object a6, Object a7,
       
  4157                                     Object a8, Object a9, Object a10, Object a11,
       
  4158                                     Object a12, Object a13, Object a14, Object a15,
       
  4159                                     Object a16, Object a17, Object a18, Object a19) throws Throwable {
       
  4160             return target.invokeExact(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9,
       
  4161                                  a10, a11, a12, a13, a14, filter.invokeExact(a15), a16, a17, a18, a19); }
       
  4162         protected Object invoke_V16(Object a0, Object a1, Object a2, Object a3,
       
  4163                                     Object a4, Object a5, Object a6, Object a7,
       
  4164                                     Object a8, Object a9, Object a10, Object a11,
       
  4165                                     Object a12, Object a13, Object a14, Object a15,
       
  4166                                     Object a16, Object a17, Object a18, Object a19) throws Throwable {
       
  4167             return target.invokeExact(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9,
       
  4168                                  a10, a11, a12, a13, a14, a15, filter.invokeExact(a16), a17, a18, a19); }
       
  4169         protected Object invoke_V17(Object a0, Object a1, Object a2, Object a3,
       
  4170                                     Object a4, Object a5, Object a6, Object a7,
       
  4171                                     Object a8, Object a9, Object a10, Object a11,
       
  4172                                     Object a12, Object a13, Object a14, Object a15,
       
  4173                                     Object a16, Object a17, Object a18, Object a19) throws Throwable {
       
  4174             return target.invokeExact(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9,
       
  4175                                  a10, a11, a12, a13, a14, a15, a16, filter.invokeExact(a17), a18, a19); }
       
  4176         protected Object invoke_V18(Object a0, Object a1, Object a2, Object a3,
       
  4177                                     Object a4, Object a5, Object a6, Object a7,
       
  4178                                     Object a8, Object a9, Object a10, Object a11,
       
  4179                                     Object a12, Object a13, Object a14, Object a15,
       
  4180                                     Object a16, Object a17, Object a18, Object a19) throws Throwable {
       
  4181             return target.invokeExact(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9,
       
  4182                                  a10, a11, a12, a13, a14, a15, a16, a17, filter.invokeExact(a18), a19); }
       
  4183         protected Object invoke_V19(Object a0, Object a1, Object a2, Object a3,
       
  4184                                     Object a4, Object a5, Object a6, Object a7,
       
  4185                                     Object a8, Object a9, Object a10, Object a11,
       
  4186                                     Object a12, Object a13, Object a14, Object a15,
       
  4187                                     Object a16, Object a17, Object a18, Object a19) throws Throwable {
       
  4188             return target.invokeExact(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9,
       
  4189                                  a10, a11, a12, a13, a14, a15, a16, a17, a18, filter.invokeExact(a19)); }
       
  4190         protected Object invoke_F0(Object a0, Object a1, Object a2, Object a3,
       
  4191                                    Object a4, Object a5, Object a6, Object a7,
       
  4192                                    Object a8, Object a9, Object a10, Object a11,
       
  4193                                    Object a12, Object a13, Object a14, Object a15,
       
  4194                                    Object a16, Object a17, Object a18, Object a19) throws Throwable {
       
  4195             return target.invokeExact(filter.invokeExact(),
       
  4196                                  a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19); }
       
  4197         protected Object invoke_F1(Object a0, Object a1, Object a2, Object a3,
       
  4198                                    Object a4, Object a5, Object a6, Object a7,
       
  4199                                    Object a8, Object a9, Object a10, Object a11,
       
  4200                                    Object a12, Object a13, Object a14, Object a15,
       
  4201                                    Object a16, Object a17, Object a18, Object a19) throws Throwable {
       
  4202             return target.invokeExact(filter.invokeExact(a0),
       
  4203                                  a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19); }
       
  4204         protected Object invoke_F2(Object a0, Object a1, Object a2, Object a3,
       
  4205                                    Object a4, Object a5, Object a6, Object a7,
       
  4206                                    Object a8, Object a9, Object a10, Object a11,
       
  4207                                    Object a12, Object a13, Object a14, Object a15,
       
  4208                                    Object a16, Object a17, Object a18, Object a19) throws Throwable {
       
  4209             return target.invokeExact(filter.invokeExact(a0, a1),
       
  4210                                  a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19); }
       
  4211         protected Object invoke_F3(Object a0, Object a1, Object a2, Object a3,
       
  4212                                    Object a4, Object a5, Object a6, Object a7,
       
  4213                                    Object a8, Object a9, Object a10, Object a11,
       
  4214                                    Object a12, Object a13, Object a14, Object a15,
       
  4215                                    Object a16, Object a17, Object a18, Object a19) throws Throwable {
       
  4216             return target.invokeExact(filter.invokeExact(a0, a1, a2),
       
  4217                                  a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19); }
       
  4218         protected Object invoke_F4(Object a0, Object a1, Object a2, Object a3,
       
  4219                                    Object a4, Object a5, Object a6, Object a7,
       
  4220                                    Object a8, Object a9, Object a10, Object a11,
       
  4221                                    Object a12, Object a13, Object a14, Object a15,
       
  4222                                    Object a16, Object a17, Object a18, Object a19) throws Throwable {
       
  4223             return target.invokeExact(filter.invokeExact(a0, a1, a2, a3),
       
  4224                                  a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19); }
       
  4225         protected Object invoke_F5(Object a0, Object a1, Object a2, Object a3,
       
  4226                                    Object a4, Object a5, Object a6, Object a7,
       
  4227                                    Object a8, Object a9, Object a10, Object a11,
       
  4228                                    Object a12, Object a13, Object a14, Object a15,
       
  4229                                    Object a16, Object a17, Object a18, Object a19) throws Throwable {
       
  4230             return target.invokeExact(filter.invokeExact(a0, a1, a2, a3, a4),
       
  4231                                  a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19); }
       
  4232         protected Object invoke_F6(Object a0, Object a1, Object a2, Object a3,
       
  4233                                    Object a4, Object a5, Object a6, Object a7,
       
  4234                                    Object a8, Object a9, Object a10, Object a11,
       
  4235                                    Object a12, Object a13, Object a14, Object a15,
       
  4236                                    Object a16, Object a17, Object a18, Object a19) throws Throwable {
       
  4237             return target.invokeExact(filter.invokeExact(a0, a1, a2, a3, a4, a5),
       
  4238                                  a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19); }
       
  4239         protected Object invoke_F7(Object a0, Object a1, Object a2, Object a3,
       
  4240                                    Object a4, Object a5, Object a6, Object a7,
       
  4241                                    Object a8, Object a9, Object a10, Object a11,
       
  4242                                    Object a12, Object a13, Object a14, Object a15,
       
  4243                                    Object a16, Object a17, Object a18, Object a19) throws Throwable {
       
  4244             return target.invokeExact(filter.invokeExact(a0, a1, a2, a3, a4, a5, a6),
       
  4245                                  a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19); }
       
  4246         protected Object invoke_F8(Object a0, Object a1, Object a2, Object a3,
       
  4247                                    Object a4, Object a5, Object a6, Object a7,
       
  4248                                    Object a8, Object a9, Object a10, Object a11,
       
  4249                                    Object a12, Object a13, Object a14, Object a15,
       
  4250                                    Object a16, Object a17, Object a18, Object a19) throws Throwable {
       
  4251             return target.invokeExact(filter.invokeExact(a0, a1, a2, a3, a4, a5, a6, a7),
       
  4252                                  a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19); }
       
  4253         protected Object invoke_F9(Object a0, Object a1, Object a2, Object a3,
       
  4254                                    Object a4, Object a5, Object a6, Object a7,
       
  4255                                    Object a8, Object a9, Object a10, Object a11,
       
  4256                                    Object a12, Object a13, Object a14, Object a15,
       
  4257                                    Object a16, Object a17, Object a18, Object a19) throws Throwable {
       
  4258             return target.invokeExact(filter.invokeExact(a0, a1, a2, a3, a4, a5, a6, a7, a8),
       
  4259                                  a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19); }
       
  4260         protected Object invoke_F10(Object a0, Object a1, Object a2, Object a3,
       
  4261                                     Object a4, Object a5, Object a6, Object a7,
       
  4262                                     Object a8, Object a9, Object a10, Object a11,
       
  4263                                     Object a12, Object a13, Object a14, Object a15,
       
  4264                                     Object a16, Object a17, Object a18, Object a19) throws Throwable {
       
  4265             return target.invokeExact(filter.invokeExact(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9),
       
  4266                                  a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19); }
       
  4267         protected Object invoke_F11(Object a0, Object a1, Object a2, Object a3,
       
  4268                                     Object a4, Object a5, Object a6, Object a7,
       
  4269                                     Object a8, Object a9, Object a10, Object a11,
       
  4270                                     Object a12, Object a13, Object a14, Object a15,
       
  4271                                     Object a16, Object a17, Object a18, Object a19) throws Throwable {
       
  4272             return target.invokeExact(filter.invokeExact(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9,
       
  4273                                  a10),
       
  4274                                  a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19); }
       
  4275         protected Object invoke_F12(Object a0, Object a1, Object a2, Object a3,
       
  4276                                     Object a4, Object a5, Object a6, Object a7,
       
  4277                                     Object a8, Object a9, Object a10, Object a11,
       
  4278                                     Object a12, Object a13, Object a14, Object a15,
       
  4279                                     Object a16, Object a17, Object a18, Object a19) throws Throwable {
       
  4280             return target.invokeExact(filter.invokeExact(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9,
       
  4281                                  a10, a11),
       
  4282                                  a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19); }
       
  4283         protected Object invoke_F13(Object a0, Object a1, Object a2, Object a3,
       
  4284                                     Object a4, Object a5, Object a6, Object a7,
       
  4285                                     Object a8, Object a9, Object a10, Object a11,
       
  4286                                     Object a12, Object a13, Object a14, Object a15,
       
  4287                                     Object a16, Object a17, Object a18, Object a19) throws Throwable {
       
  4288             return target.invokeExact(filter.invokeExact(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9,
       
  4289                                  a10, a11, a12),
       
  4290                                  a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19); }
       
  4291         protected Object invoke_F14(Object a0, Object a1, Object a2, Object a3,
       
  4292                                     Object a4, Object a5, Object a6, Object a7,
       
  4293                                     Object a8, Object a9, Object a10, Object a11,
       
  4294                                     Object a12, Object a13, Object a14, Object a15,
       
  4295                                     Object a16, Object a17, Object a18, Object a19) throws Throwable {
       
  4296             return target.invokeExact(filter.invokeExact(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9,
       
  4297                                  a10, a11, a12, a13),
       
  4298                                  a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19); }
       
  4299         protected Object invoke_F15(Object a0, Object a1, Object a2, Object a3,
       
  4300                                     Object a4, Object a5, Object a6, Object a7,
       
  4301                                     Object a8, Object a9, Object a10, Object a11,
       
  4302                                     Object a12, Object a13, Object a14, Object a15,
       
  4303                                     Object a16, Object a17, Object a18, Object a19) throws Throwable {
       
  4304             return target.invokeExact(filter.invokeExact(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9,
       
  4305                                  a10, a11, a12, a13, a14),
       
  4306                                  a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19); }
       
  4307         protected Object invoke_F16(Object a0, Object a1, Object a2, Object a3,
       
  4308                                     Object a4, Object a5, Object a6, Object a7,
       
  4309                                     Object a8, Object a9, Object a10, Object a11,
       
  4310                                     Object a12, Object a13, Object a14, Object a15,
       
  4311                                     Object a16, Object a17, Object a18, Object a19) throws Throwable {
       
  4312             return target.invokeExact(filter.invokeExact(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9,
       
  4313                                  a10, a11, a12, a13, a14, a15),
       
  4314                                  a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19); }
       
  4315         protected Object invoke_F17(Object a0, Object a1, Object a2, Object a3,
       
  4316                                     Object a4, Object a5, Object a6, Object a7,
       
  4317                                     Object a8, Object a9, Object a10, Object a11,
       
  4318                                     Object a12, Object a13, Object a14, Object a15,
       
  4319                                     Object a16, Object a17, Object a18, Object a19) throws Throwable {
       
  4320             return target.invokeExact(filter.invokeExact(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9,
       
  4321                                  a10, a11, a12, a13, a14, a15, a16),
       
  4322                                  a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19); }
       
  4323         protected Object invoke_F18(Object a0, Object a1, Object a2, Object a3,
       
  4324                                     Object a4, Object a5, Object a6, Object a7,
       
  4325                                     Object a8, Object a9, Object a10, Object a11,
       
  4326                                     Object a12, Object a13, Object a14, Object a15,
       
  4327                                     Object a16, Object a17, Object a18, Object a19) throws Throwable {
       
  4328             return target.invokeExact(filter.invokeExact(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9,
       
  4329                                  a10, a11, a12, a13, a14, a15, a16, a17),
       
  4330                                  a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19); }
       
  4331         protected Object invoke_F19(Object a0, Object a1, Object a2, Object a3,
       
  4332                                     Object a4, Object a5, Object a6, Object a7,
       
  4333                                     Object a8, Object a9, Object a10, Object a11,
       
  4334                                     Object a12, Object a13, Object a14, Object a15,
       
  4335                                     Object a16, Object a17, Object a18, Object a19) throws Throwable {
       
  4336             return target.invokeExact(filter.invokeExact(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9,
       
  4337                                  a10, a11, a12, a13, a14, a15, a16, a17, a18),
       
  4338                                  a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19); }
       
  4339         protected Object invoke_F20(Object a0, Object a1, Object a2, Object a3,
       
  4340                                    Object a4, Object a5, Object a6, Object a7,
       
  4341                                    Object a8, Object a9, Object a10, Object a11,
       
  4342                                    Object a12, Object a13, Object a14, Object a15,
       
  4343                                    Object a16, Object a17, Object a18, Object a19) throws Throwable {
       
  4344             return target.invokeExact(filter.invokeExact(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19),
       
  4345                                  a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19); }
       
  4346         protected Object invoke_C0(Object a0, Object a1, Object a2, Object a3,
       
  4347                                    Object a4, Object a5, Object a6, Object a7,
       
  4348                                    Object a8, Object a9, Object a10, Object a11,
       
  4349                                    Object a12, Object a13, Object a14, Object a15,
       
  4350                                    Object a16, Object a17, Object a18, Object a19) throws Throwable {
       
  4351             return target.invokeExact(filter.invokeExact(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9,
       
  4352                                  a10, a11, a12, a13, a14, a15, a16, a17, a18, a19)); }
       
  4353         protected Object invoke_C1(Object a0, Object a1, Object a2, Object a3,
       
  4354                                    Object a4, Object a5, Object a6, Object a7,
       
  4355                                    Object a8, Object a9, Object a10, Object a11,
       
  4356                                    Object a12, Object a13, Object a14, Object a15,
       
  4357                                    Object a16, Object a17, Object a18, Object a19) throws Throwable {
       
  4358             return target.invokeExact(a0, filter.invokeExact(a1, a2, a3, a4, a5, a6, a7, a8, a9,
       
  4359                                  a10, a11, a12, a13, a14, a15, a16, a17, a18, a19)); }
       
  4360         protected Object invoke_C2(Object a0, Object a1, Object a2, Object a3,
       
  4361                                    Object a4, Object a5, Object a6, Object a7,
       
  4362                                    Object a8, Object a9, Object a10, Object a11,
       
  4363                                    Object a12, Object a13, Object a14, Object a15,
       
  4364                                    Object a16, Object a17, Object a18, Object a19) throws Throwable {
       
  4365             return target.invokeExact(a0, a1, filter.invokeExact(a2, a3, a4, a5, a6, a7, a8, a9,
       
  4366                                  a10, a11, a12, a13, a14, a15, a16, a17, a18, a19)); }
       
  4367         protected Object invoke_C3(Object a0, Object a1, Object a2, Object a3,
       
  4368                                    Object a4, Object a5, Object a6, Object a7,
       
  4369                                    Object a8, Object a9, Object a10, Object a11,
       
  4370                                    Object a12, Object a13, Object a14, Object a15,
       
  4371                                    Object a16, Object a17, Object a18, Object a19) throws Throwable {
       
  4372             return target.invokeExact(a0, a1, a2, filter.invokeExact(a3, a4, a5, a6, a7, a8, a9,
       
  4373                                  a10, a11, a12, a13, a14, a15, a16, a17, a18, a19)); }
       
  4374         protected Object invoke_C4(Object a0, Object a1, Object a2, Object a3,
       
  4375                                    Object a4, Object a5, Object a6, Object a7,
       
  4376                                    Object a8, Object a9, Object a10, Object a11,
       
  4377                                    Object a12, Object a13, Object a14, Object a15,
       
  4378                                    Object a16, Object a17, Object a18, Object a19) throws Throwable {
       
  4379             return target.invokeExact(a0, a1, a2, a3, filter.invokeExact(a4, a5, a6, a7, a8, a9,
       
  4380                                  a10, a11, a12, a13, a14, a15, a16, a17, a18, a19)); }
       
  4381         protected Object invoke_C5(Object a0, Object a1, Object a2, Object a3,
       
  4382                                    Object a4, Object a5, Object a6, Object a7,
       
  4383                                    Object a8, Object a9, Object a10, Object a11,
       
  4384                                    Object a12, Object a13, Object a14, Object a15,
       
  4385                                    Object a16, Object a17, Object a18, Object a19) throws Throwable {
       
  4386             return target.invokeExact(a0, a1, a2, a3, a4, filter.invokeExact(a5, a6, a7, a8, a9,
       
  4387                                  a10, a11, a12, a13, a14, a15, a16, a17, a18, a19)); }
       
  4388         protected Object invoke_C6(Object a0, Object a1, Object a2, Object a3,
       
  4389                                    Object a4, Object a5, Object a6, Object a7,
       
  4390                                    Object a8, Object a9, Object a10, Object a11,
       
  4391                                    Object a12, Object a13, Object a14, Object a15,
       
  4392                                    Object a16, Object a17, Object a18, Object a19) throws Throwable {
       
  4393             return target.invokeExact(a0, a1, a2, a3, a4, a5, filter.invokeExact(a6, a7, a8, a9,
       
  4394                                  a10, a11, a12, a13, a14, a15, a16, a17, a18, a19)); }
       
  4395         protected Object invoke_C7(Object a0, Object a1, Object a2, Object a3,
       
  4396                                    Object a4, Object a5, Object a6, Object a7,
       
  4397                                    Object a8, Object a9, Object a10, Object a11,
       
  4398                                    Object a12, Object a13, Object a14, Object a15,
       
  4399                                    Object a16, Object a17, Object a18, Object a19) throws Throwable {
       
  4400             return target.invokeExact(a0, a1, a2, a3, a4, a5, a6, filter.invokeExact(a7, a8, a9,
       
  4401                                  a10, a11, a12, a13, a14, a15, a16, a17, a18, a19)); }
       
  4402         protected Object invoke_C8(Object a0, Object a1, Object a2, Object a3,
       
  4403                                    Object a4, Object a5, Object a6, Object a7,
       
  4404                                    Object a8, Object a9, Object a10, Object a11,
       
  4405                                    Object a12, Object a13, Object a14, Object a15,
       
  4406                                    Object a16, Object a17, Object a18, Object a19) throws Throwable {
       
  4407             return target.invokeExact(a0, a1, a2, a3, a4, a5, a6, a7, filter.invokeExact(a8, a9,
       
  4408                                  a10, a11, a12, a13, a14, a15, a16, a17, a18, a19)); }
       
  4409         protected Object invoke_C9(Object a0, Object a1, Object a2, Object a3,
       
  4410                                    Object a4, Object a5, Object a6, Object a7,
       
  4411                                    Object a8, Object a9, Object a10, Object a11,
       
  4412                                    Object a12, Object a13, Object a14, Object a15,
       
  4413                                    Object a16, Object a17, Object a18, Object a19) throws Throwable {
       
  4414             return target.invokeExact(a0, a1, a2, a3, a4, a5, a6, a7, a8, filter.invokeExact(a9,
       
  4415                                  a10, a11, a12, a13, a14, a15, a16, a17, a18, a19)); }
       
  4416         protected Object invoke_C10(Object a0, Object a1, Object a2, Object a3,
       
  4417                                     Object a4, Object a5, Object a6, Object a7,
       
  4418                                     Object a8, Object a9, Object a10, Object a11,
       
  4419                                     Object a12, Object a13, Object a14, Object a15,
       
  4420                                     Object a16, Object a17, Object a18, Object a19) throws Throwable {
       
  4421             return target.invokeExact(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, filter.invokeExact(a10, a11, a12, a13, a14, a15, a16, a17, a18, a19)); }
       
  4422         protected Object invoke_C11(Object a0, Object a1, Object a2, Object a3,
       
  4423                                     Object a4, Object a5, Object a6, Object a7,
       
  4424                                     Object a8, Object a9, Object a10, Object a11,
       
  4425                                     Object a12, Object a13, Object a14, Object a15,
       
  4426                                     Object a16, Object a17, Object a18, Object a19) throws Throwable {
       
  4427             return target.invokeExact(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9,
       
  4428                                  a10, filter.invokeExact(a11, a12, a13, a14, a15, a16, a17, a18, a19)); }
       
  4429         protected Object invoke_C12(Object a0, Object a1, Object a2, Object a3,
       
  4430                                     Object a4, Object a5, Object a6, Object a7,
       
  4431                                     Object a8, Object a9, Object a10, Object a11,
       
  4432                                     Object a12, Object a13, Object a14, Object a15,
       
  4433                                     Object a16, Object a17, Object a18, Object a19) throws Throwable {
       
  4434             return target.invokeExact(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9,
       
  4435                                  a10, a11, filter.invokeExact(a12, a13, a14, a15, a16, a17, a18, a19)); }
       
  4436         protected Object invoke_C13(Object a0, Object a1, Object a2, Object a3,
       
  4437                                     Object a4, Object a5, Object a6, Object a7,
       
  4438                                     Object a8, Object a9, Object a10, Object a11,
       
  4439                                     Object a12, Object a13, Object a14, Object a15,
       
  4440                                     Object a16, Object a17, Object a18, Object a19) throws Throwable {
       
  4441             return target.invokeExact(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9,
       
  4442                                  a10, a11, a12, filter.invokeExact(a13, a14, a15, a16, a17, a18, a19)); }
       
  4443         protected Object invoke_C14(Object a0, Object a1, Object a2, Object a3,
       
  4444                                     Object a4, Object a5, Object a6, Object a7,
       
  4445                                     Object a8, Object a9, Object a10, Object a11,
       
  4446                                     Object a12, Object a13, Object a14, Object a15,
       
  4447                                     Object a16, Object a17, Object a18, Object a19) throws Throwable {
       
  4448             return target.invokeExact(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9,
       
  4449                                  a10, a11, a12, a13, filter.invokeExact(a14, a15, a16, a17, a18, a19)); }
       
  4450         protected Object invoke_C15(Object a0, Object a1, Object a2, Object a3,
       
  4451                                     Object a4, Object a5, Object a6, Object a7,
       
  4452                                     Object a8, Object a9, Object a10, Object a11,
       
  4453                                     Object a12, Object a13, Object a14, Object a15,
       
  4454                                     Object a16, Object a17, Object a18, Object a19) throws Throwable {
       
  4455             return target.invokeExact(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9,
       
  4456                                  a10, a11, a12, a13, a14, filter.invokeExact(a15, a16, a17, a18, a19)); }
       
  4457         protected Object invoke_C16(Object a0, Object a1, Object a2, Object a3,
       
  4458                                     Object a4, Object a5, Object a6, Object a7,
       
  4459                                     Object a8, Object a9, Object a10, Object a11,
       
  4460                                     Object a12, Object a13, Object a14, Object a15,
       
  4461                                     Object a16, Object a17, Object a18, Object a19) throws Throwable {
       
  4462             return target.invokeExact(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9,
       
  4463                                  a10, a11, a12, a13, a14, a15, filter.invokeExact(a16, a17, a18, a19)); }
       
  4464         protected Object invoke_C17(Object a0, Object a1, Object a2, Object a3,
       
  4465                                     Object a4, Object a5, Object a6, Object a7,
       
  4466                                     Object a8, Object a9, Object a10, Object a11,
       
  4467                                     Object a12, Object a13, Object a14, Object a15,
       
  4468                                     Object a16, Object a17, Object a18, Object a19) throws Throwable {
       
  4469             return target.invokeExact(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9,
       
  4470                                  a10, a11, a12, a13, a14, a15, a16, filter.invokeExact(a17, a18, a19)); }
       
  4471         protected Object invoke_C18(Object a0, Object a1, Object a2, Object a3,
       
  4472                                     Object a4, Object a5, Object a6, Object a7,
       
  4473                                     Object a8, Object a9, Object a10, Object a11,
       
  4474                                     Object a12, Object a13, Object a14, Object a15,
       
  4475                                     Object a16, Object a17, Object a18, Object a19) throws Throwable {
       
  4476             return target.invokeExact(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9,
       
  4477                                  a10, a11, a12, a13, a14, a15, a16, a17, filter.invokeExact(a18, a19)); }
       
  4478         protected Object invoke_C19(Object a0, Object a1, Object a2, Object a3,
       
  4479                                     Object a4, Object a5, Object a6, Object a7,
       
  4480                                     Object a8, Object a9, Object a10, Object a11,
       
  4481                                     Object a12, Object a13, Object a14, Object a15,
       
  4482                                     Object a16, Object a17, Object a18, Object a19) throws Throwable {
       
  4483             return target.invokeExact(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9,
       
  4484                                  a10, a11, a12, a13, a14, a15, a16, a17, a18, filter.invokeExact(a19)); }
       
  4485         protected Object invoke_C20(Object a0, Object a1, Object a2, Object a3,
       
  4486                                    Object a4, Object a5, Object a6, Object a7,
       
  4487                                    Object a8, Object a9, Object a10, Object a11,
       
  4488                                    Object a12, Object a13, Object a14, Object a15,
       
  4489                                    Object a16, Object a17, Object a18, Object a19) throws Throwable {
       
  4490             return target.invokeExact(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, filter.invokeExact()); }
       
  4491         protected Object invoke_Y0(Object a0, Object a1, Object a2, Object a3,
       
  4492                                    Object a4, Object a5, Object a6, Object a7,
       
  4493                                    Object a8, Object a9, Object a10, Object a11,
       
  4494                                    Object a12, Object a13, Object a14, Object a15,
       
  4495                                    Object a16, Object a17, Object a18, Object a19) throws Throwable {
       
  4496             Object[] av = { a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19 };
       
  4497             filter.invokeExact(av); // make the flyby
       
  4498             return target.invokeExact(av[0], av[1], av[2], av[3], av[4], av[5], av[6], av[7], av[8], av[9], av[10], av[11], av[12], av[13], av[14], av[15], av[16], av[17], av[18], av[19]); }
       
  4499     }
       
  4500 }