package p1.p2.test;

import java.io.Serializable;
import java.io.IOException;

interface I {
	int id(int x, int y);
}

public abstract class A extends java.lang.Object
		implements Runnable, Cloneable, Serializable {
	public void run() {
	}

	public static class X {
		I i = (x, y) -> x;
	}

	public void lambdas() {
		Runnable a = () -> {
			thisIsCrazy();
			iJustMet(you);
			here.number.callMe();
		};

		Func idA = x -> x;

		Func idB = x -> {
			return x;
		};

		Func idC = x -> x;

		Func id2 = x -> {
			if (x == null) {
				return null;
			} else
				return x;
		};

		ImaginableFunction<String, Integer> f = (String input) -> input
				.length();

		ImaginableFunction<String, Integer> f2 = (String input) -> {
			return input.length() + new LetsPretend() {
				int howMany() {
					return 42;
				}
			}

					.howMany();
		};
	}

}