code: public void addTransition(Automaton newTransition, boolean first) {
          newTransition.parent = this;
          if (this.pendingTransitions.isEmpty()) {
              this.pendingTransitions.add(newTransition);
          } else {
              int i = 0;
              for (Automaton ps : pendingTransitions) {
                  if (!first && newTransition.priority > ps.priority) {
                      pendingTransitions.add(i, newTransition);
                      break;
                  }
                  if (first && newTransition.priority >= ps.priority) {
                      pendingTransitions.add(i, newTransition);
                      break;
                  }
                  i++;
              }
              // si no se insertó, se pone al final
              if (i == pendingTransitions.size()) {
                  pendingTransitions.add(newTransition);
              }
          }
      }
docs: Añadir transición a un estado en la lista de transiciones pendientes. La
  lista queda ordenada de mayor a menor prioridad.
  
  @param newTransition Estado destino de la transición
  @param first es true si se quiere que se ponga el primero en cola si
  varios tienen la misa prioridad (caso de pausar un estado porque te
  interesa que sea el siguiente), false si es el último (caso de insertar
  un nuevo estado porque te interesa que el código muestre el orden de
  ejecución).