
import java.lang.invoke.MethodHandle;
import java.lang.invoke.MethodHandles;
import java.lang.invoke.MethodType;

/**
 * @author Anastasiya Solodkaya.
 */
public class Example0 {
    public static void main(String[] args) throws Throwable {
        MethodHandle handle = MethodHandles.iteratedLoop(
                null,
                MethodHandles.empty(MethodType.methodType(int.class)),
                MethodHandles.empty(MethodType.methodType(int.class, int.class, String[].class))
        );
        System.out.println(handle.type());

        int result = (int) handle.invoke(new Object[]{new String[]{"A", "B", "C", "D"}});
    }
}
