@Override
 protected RunTransactionalReturnData runTransactional() throws Exception {
   for (StatementAuthoritySignature signature : signatures) {
     if (signature.isValid()) {
       Statement statement = signature.getStatement(getTransaction());
       if (!(statement instanceof RootContext)) {
         ContextAuthority contextAuthority =
             statement.getContext(getTransaction()).getAuthority(getTransaction());
         if (contextAuthority != null) {
           DelegateAuthorizer da =
               contextAuthority
                   .delegateAuthorizerByAuthorizerMap(
                       getTransaction(), statement.prefix(getTransaction()))
                   .get(signature.getAuthorizer(getTransaction()));
           if (da != null) {
             if (da.isSigned() && (da.getDelegate(getTransaction()) instanceof PrivatePerson)) {
               DelegateTreeRootNode rn = da.getDelegateTreeRootNode(getTransaction());
               if (rn.isSigned()) {
                 da.addRevokedSignatureUuid(signature.getSignatureUuid());
                 da.sign(getTransaction());
                 da.persistenceUpdate(getTransaction());
               } else
                 getErr()
                     .println(
                         "Signature: "
                             + signature.getAuthorizer(getTransaction())
                             + "'s delegate tree root node is not signed");
             } else
               getErr()
                   .println(
                       "Signature: "
                           + signature.getAuthorizer(getTransaction())
                           + " non-revokable");
           } else
             getErr()
                 .println(
                     "Signature: "
                         + signature.getAuthorizer(getTransaction())
                         + " has no delegate authorizer");
         } else
           getErr()
               .println(
                   "Signature: "
                       + signature.getAuthorizer(getTransaction())
                       + " has no context authority (!?)");
       } else
         getErr()
             .println(
                 "Signature: "
                     + signature.getAuthorizer(getTransaction())
                     + " is for a root context");
     } else
       getErr().println("Signature: " + signature.getAuthorizer(getTransaction()) + " not valid");
   }
   return null;
 }