code: public void commit ()
      {
          // first clear our target
          clearTarget();
  
          // then post this event onto the queue (but only if we actually
          // accumulated some events)
          int size = _events.size();
          switch (size) {
          case 0: // nothing doing
              break;
          case 1: // no point in being compound
              _omgr.postEvent(_events.get(0));
              break;
          default: // now we're talking
              _transport = _events.get(0).getTransport();
              for (int ii = 1; ii < size; ii++) {
                  _transport = _events.get(ii).getTransport().combine(_transport);
              }
              _omgr.postEvent(this);
              break;
          }
      }
docs: Commits this transaction by posting this event to the distributed object event queue. All
  participating dobjects will have their transaction references cleared and will go back to
  normal operation.