/**
   * Executa a fase transiente.
   *
   * @return Tempo de término da fase e a sequência de bytes esperados nos receptores.
   */
  public TransientPhaseData transientPhase() {
    for (int i = 0; i < SimulationProperties.getTransientPhaseEvents(); i++) handleEvents();

    double transientPhaseEndingTime = currentTime;
    ArrayList<Long> expectedBytes = new ArrayList<Long>();

    for (Rx rx : getSystem().getRxs()) expectedBytes.add(rx.getNextExpectedByte());

    return new TransientPhaseData(transientPhaseEndingTime, expectedBytes);
  }