public Set<Track> getTracks(final int recNumber) throws SQLException
   {
      Set<Track> retSet = new TreeSet<Track>();

      // First Build the bare track details
      PreparedStatement s = Connect
            .getConnection()
            .getPreparedStatement(
                  "SELECT TrackRefNumber, TrackName, Length, TrackNumber,formtrack FROM Track  WHERE RecordNumber = ? ORDER BY TrackNumber");
      s.setInt(1, recNumber);
      ResultSet rs = s.executeQuery();

      // Naive approach to check for speed
      Track currTrack = null;
      while (rs.next())
      {
         int trckNum = rs.getInt(4);

         // Create new track
         String name = rs.getString(2);
         if (name == null)
            name = "";
         int len = rs.getInt(3);
         int refNum = rs.getInt(1);
         int formtrack = rs.getInt(5);

         // currTrack = new Track(name, len, getLineUps(refNum),
         // getPersonnel(refNum), trckNum, refNum);
         currTrack = new Track(name, len, getLineUps(refNum), getPersonnel(refNum), trckNum,
               refNum, formtrack, recNumber);
         retSet.add(currTrack);
      }
      rs.close();
      s.close();

      return retSet;
   }