class Test { enum Foo { BAR(getTwice(() -> { return getNum(); })); Foo(int val) { } } static int getNum() { return 4; } static int getTwice(IntSupplier fn) { int x = fn.getAsInt(); int y = fn.getAsInt(); return x + y; } }