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( ( ) -> { doBar( ) ; } ) ;
//execCode(this::doBar);
}
}
void execCode
( Runnable code
) throws MojoFailureException
{ try {
code.run ( ) ;
throw new MojoFailureException( e) ;
}
}
class MojoFailureException
extends Exception { super ( e) ;
}
}
}
aW1wb3J0IGphdmEudXRpbC5jb25jdXJyZW50LkNhbGxhYmxlOwoKY2xhc3MgTWFpbiB7CiAgICBwdWJsaWMgc3RhdGljIHZvaWQgbWFpbiAoU3RyaW5nW10gYXJncykgdGhyb3dzIE1vam9GYWlsdXJlRXhjZXB0aW9uIHsKICAgICAgICBuZXcgTWFpbigpLmZvbygpOwogICAgfQoKICAgIHZvaWQgZm9vKCkgdGhyb3dzIE1vam9GYWlsdXJlRXhjZXB0aW9uIHsKICAgICAgICBleGVjQ29kZSgoKSAtPiBkb0JhcigpKTsKICAgICAgICBleGVjQ29kZSgoKSAtPiB7IGRvQmFyKCk7IH0pOwogICAgICAgIC8vZXhlY0NvZGUodGhpczo6ZG9CYXIpOwogICAgfQoKICAgIHZvaWQgZG9CYXIoKSB0aHJvd3MgRXhjZXB0aW9uIHsKICAgICAgICBTeXN0ZW0ub3V0LnByaW50bG4oImJhciIpOwogICAgfQoKICAgIHZvaWQgZXhlY0NvZGUoUnVubmFibGUgY29kZSkgdGhyb3dzIE1vam9GYWlsdXJlRXhjZXB0aW9uIHsKICAgICAgICB0cnkgewogICAgICAgICAgICBjb2RlLnJ1bigpIDsKICAgICAgICB9IGNhdGNoKEV4Y2VwdGlvbiBlKSB7CiAgICAgICAgICAgIHRocm93IG5ldyBNb2pvRmFpbHVyZUV4Y2VwdGlvbihlKTsKICAgICAgICB9CiAgICB9CgogICAgY2xhc3MgTW9qb0ZhaWx1cmVFeGNlcHRpb24gZXh0ZW5kcyBFeGNlcHRpb24gewogICAgICAgIE1vam9GYWlsdXJlRXhjZXB0aW9uKEV4Y2VwdGlvbiBlKSB7CiAgICAgICAgICAgIHN1cGVyKGUpOwogICAgICAgIH0KICAgIH0KfQo=