code: public void fireUntilHalt(final AgendaFilter agendaFilter) {
          if ( isSequential() ) {
              throw new IllegalStateException( "fireUntilHalt() can not be called in sequential mode." );
          }
  
          try {
              startOperation();
              agenda.fireUntilHalt( agendaFilter );
          } finally {
              endOperation();
          }
      }
docs: Keeps firing activations until a halt is called. If in a given moment,
  there is no activation to fire, it will wait for an activation to be
  added to an active agenda group or rule flow group.
  
  @param agendaFilter
  filters the activations that may fire
  
  @throws IllegalStateException
  if this method is called when running in sequential mode