code: public List<Message> requestTrackMenuFrom(final SlotReference slotReference, final int sortOrder)
              throws Exception {
  
          ConnectionManager.ClientTask<List<Message>> task = new ConnectionManager.ClientTask<List<Message>>() {
              @Override
              public List<Message> useClient(Client client) throws Exception {
                  return MetadataFinder.getInstance().getFullTrackList(slotReference.slot, client, sortOrder);
              }
          };
  
          return ConnectionManager.getInstance().invokeWithClientSession(slotReference.player, task, "requesting track menu");
      }
docs: Ask the specified player for a Track menu.
  
  @param slotReference the player and slot for which the menu is desired
  @param sortOrder the order in which responses should be sorted, 0 for default, see Section 6.11.1 of the
  <a href="https://github.com/Deep-Symmetry/dysentery/blob/master/doc/Analysis.pdf">Packet Analysis
  document</a> for details
  
  @return the entries in the track menu
  
  @throws Exception if there is a problem obtaining the menu