code: @Override
      public void commitChanges(SynchronizationBarrier barrier) throws JMSException
      {
      	checkNotClosed();
      	checkTransactionLock();
      	
      	if (!committables.isEmpty())
          {
      		long start = System.currentTimeMillis();
      		
      		Iterator<Committable> allCommitables = committables.iterator();
          	while (allCommitables.hasNext())
          	{
          		Committable committable = allCommitables.next();
          		committable.commitChanges(barrier);
          	}
          	
          	long end = System.currentTimeMillis();
          	notifyCommitTime(end-start);
          	
          	pendingChanges = false;
          }
      }
docs: /* (non-Javadoc)
  @see net.timewalker.ffmq4.utils.Committable#commitChanges(net.timewalker.ffmq4.utils.concurrent.SynchronizationBarrier)