docs: public ServiceDirectoryFuture asyncQueryService(List<StringCommand> commands){
          ProtocolHeader header = new ProtocolHeader();
          header.setType(ProtocolType.QueryService);
  
          List<QueryCommand> cs = new ArrayList<QueryCommand>();
          for(StringCommand c : commands){
              cs.add(c.getStringCommand());
          }
  
          QueryServiceProtocol p = new QueryServiceProtocol(cs);
          return connection.submitAsyncRequest(header, p, null);
      }