/** The only trick here is that we need to wrap & unwrap checked exceptions that go through the Work interface */
@Override
public Object invoke(final MethodInvocation inv) throws Throwable {
Transact attr = inv.getStaticPart().getAnnotation(Transact.class);
TxnType type = attr.value();
try {
return ofy().execute(type, new Work<Object>() {
@Override
public Object run() {