private void inizializzaMinuti() {
    minuti = new Orologio<Minuto>();

    int NUM_MINUTI = 60;
    for (int i = NUM_MINUTI - 1; i >= 0; i--) {
      Event e = null;

      if (i == 0) e = new Event("Bip Bip");
      else if (i == 30) e = new Event("Bip");
      else e = nullEvent;
      minuti.add(new Minuto(i + "", e));
    }
  }
  public void start() {
    Ora oraCorrente = ore.value();
    Minuto minutoCorrente = minuti.value();

    while (!(oraCorrente.getNome().equals("23") && minutoCorrente.getNome().equals("59"))) {
      String nomeEvento = minutoCorrente.getEvent().toString();

      if (!(nomeEvento.equals("")))
        System.out.println(
            oraCorrente.getNome()
                + ":"
                + minutoCorrente.getNome()
                + " "
                + minutoCorrente.getEvent().toString());

      // --rotazione orologio
      if (minutoCorrente.getNome().equals("59")) {
        ore.rotateF();
        oraCorrente = ore.value();
      }
      minuti.rotateF();
      minutoCorrente = minuti.value();
    }
  }
  private void inizializzaOre() {
    ore = new Orologio<Ora>();

    int NUM_ORE = 24;
    for (int i = NUM_ORE - 1; i >= 0; i--) ore.add(new Ora(i + "", null));
  }