import java.util.concurrent.Callable;
class Main {
public static void main
(String[] args
) throws MojoFailureException
{ new Main().foo();
}
void foo() throws MojoFailureException {
execCode(() -> doBar());
execCode(this::doBar);
}
return true;
}
void execCode(Callable<?> code) throws MojoFailureException {
try {
code.call() ;
throw new MojoFailureException(e);
}
}
class MojoFailureException
extends Exception { super(e);
}
}
}
aW1wb3J0IGphdmEudXRpbC5jb25jdXJyZW50LkNhbGxhYmxlOwoKY2xhc3MgTWFpbiB7CiAgICBwdWJsaWMgc3RhdGljIHZvaWQgbWFpbiAoU3RyaW5nW10gYXJncykgdGhyb3dzIE1vam9GYWlsdXJlRXhjZXB0aW9uIHsKICAgICAgICBuZXcgTWFpbigpLmZvbygpOwogICAgfQoKICAgIHZvaWQgZm9vKCkgdGhyb3dzIE1vam9GYWlsdXJlRXhjZXB0aW9uIHsKICAgICAgICBleGVjQ29kZSgoKSAtPiBkb0JhcigpKTsKICAgICAgICBleGVjQ29kZSh0aGlzOjpkb0Jhcik7CiAgICB9CgogICAgYm9vbGVhbiBkb0JhcigpIHRocm93cyBFeGNlcHRpb24gewogICAgICAgIFN5c3RlbS5vdXQucHJpbnRsbigiYmFyIik7CiAgICAgICAgcmV0dXJuIHRydWU7CiAgICB9CgogICAgdm9pZCBleGVjQ29kZShDYWxsYWJsZTw/PiBjb2RlKSB0aHJvd3MgTW9qb0ZhaWx1cmVFeGNlcHRpb24gewogICAgICAgIHRyeSB7CiAgICAgICAgICAgIGNvZGUuY2FsbCgpIDsKICAgICAgICB9IGNhdGNoKEV4Y2VwdGlvbiBlKSB7CiAgICAgICAgICAgIHRocm93IG5ldyBNb2pvRmFpbHVyZUV4Y2VwdGlvbihlKTsKICAgICAgICB9CiAgICB9CgogICAgY2xhc3MgTW9qb0ZhaWx1cmVFeGNlcHRpb24gZXh0ZW5kcyBFeGNlcHRpb24gewogICAgICAgIE1vam9GYWlsdXJlRXhjZXB0aW9uKEV4Y2VwdGlvbiBlKSB7CiAgICAgICAgICAgIHN1cGVyKGUpOwogICAgICAgIH0KICAgIH0KfQo=