public Band allAvailableTimes(Band band) {
    Band ret = band;
    band.getLeader().setAvailableTimes(new Vector<AvailableTime>());
    for (Musician m : band.getMusicians()) {
      m.setAvailableTimes(new Vector<AvailableTime>());
    }

    try {
      PreparedStatement stmt =
          conn.prepareStatement(
              "select id, musician_id, start_time, end_time from available_times where band_id = ?",
              ResultSet.TYPE_FORWARD_ONLY,
              ResultSet.CONCUR_READ_ONLY);
      stmt.setInt(1, band.getId());

      ResultSet rs = stmt.executeQuery();

      while (rs.next()) {
        for (Musician m : band.getMusicians()) {
          if (m.getId() == rs.getInt(2)) {
            m.addAvailableTime(
                new AvailableTime(rs.getInt(1), rs.getTimestamp(3), rs.getTimestamp(4)));
          }
        }
        if (band.getLeader().getId() == rs.getInt(2)) {
          band.getLeader()
              .addAvailableTime(
                  new AvailableTime(rs.getInt(1), rs.getTimestamp(3), rs.getTimestamp(4)));
        }
      }

    } catch (SQLException e) {
      // TODO Auto-generated catch block
      e.printStackTrace();
    }

    return ret;
  }