docs: public void checkpoint()
      {
          if (log.isDebugEnabled()) log.debug("Checkpoint was called, commit changes hold locks on tx " + this);
          try
          {
              checkOpen();
              doWriteObjects(true);
              // do commit on PB
              if (hasBroker() && broker.isInTransaction()) broker.commitTransaction();
          }
          catch (Throwable t)
          {
              log.error("Checkpoint call failed, do abort transaction", t);
              txStatus = Status.STATUS_MARKED_ROLLBACK;
              abort();
              if(!(t instanceof ODMGRuntimeException))
              {
                  throw new TransactionAbortedExceptionOJB("Can't tx.checkpoint() objects: " + t.getMessage(), t);
              }
              else
              {
                  throw (ODMGRuntimeException) t;
              }
          }
      }