/**
 * Diese Klasse testet die generierte EmptyClass.class-Datei
 */
class Test{
public static void main(String[] args){
	new EmptyClass();
	new Assign();
	System.out.println(new Return().method());
	new MethodCall().method();
	System.out.println(new FieldDeclaration().field);
	System.out.println(new Runnable().method().apply());
	Runnable r = new Runnable().method().apply();
	Test t = new Identity<Test,Test>().op.apply(new Test());
	System.out.println(t);
}
}

class Test2<X>{
	Fun1<? extends X,? super X> m() {
		Fun1<? extends X,? super X> f =  new Identity<X,X>().op;
		return f;
	}
public static void main(String[] args){
	Matrix2<Integer,Integer> m2 = new Matrix2<>();
	System.out.println(m2.op.apply((Integer x) -> x));
}
}