code: public void delete(Object obj, boolean ignoreReferences) throws PersistenceBrokerException
      {
          if(isTxCheck() && !isInTransaction())
          {
              if(logger.isEnabledFor(Logger.ERROR))
              {
                  String msg = "No running PB-tx found. Please, only delete objects in context of a PB-transaction" +
                      " to avoid side-effects - e.g. when rollback of complex objects.";
                  try
                  {
                      throw new Exception("** Delete object without active PersistenceBroker transaction **");
                  }
                  catch(Exception e)
                  {
                      logger.error(msg, e);
                  }
              }
          }
          try
          {
              doDelete(obj, ignoreReferences);
          }
          finally
          {
              markedForDelete.clear();
          }
      }
docs: Deletes the concrete representation of the specified object in the underlying
  persistence system. This method is intended for use in top-level api or
  by internal calls.
  
  @param obj The object to delete.
  @param ignoreReferences With this flag the automatic deletion/unlinking
  of references can be suppressed (independent of the used auto-delete setting in metadata),
  except {@link org.apache.ojb.broker.metadata.SuperReferenceDescriptor}
  these kind of reference (descriptor) will always be performed. If <em>true</em>
  all "normal" referenced objects will be ignored, only the specified object is handled.
  @throws PersistenceBrokerException