code: public void subscribe(int subsId, String tableName, String filter, String reducedFields[], Callback<ChangeMessage> changeReceiver) {
          if (filter == null || filter.trim().length() == 0 || filter.trim().equals("true"))
              filter = "1";
          ChangeStream table = tableFactory.apply(tableName);
          if (table == null) {
              changeReceiver.complete(null, "unknown table");
          } else {
              Subscriber subscriber;
              try {
                  subscriber = table.subscribeOn(filter, change -> {
                      if (reducedFields != null && reducedFields.length > 0) {
                          change = change.reduced(reducedFields);
                      }
                      changeReceiver.pipe(change);
                  });
              } catch (QParseException e) {
                  changeReceiver.reject("ParseException:" + e.getMessage());
                  Log.Error(this,e);
                  return;
              }
              subsMap.put(subsId, new FrontEndSubscription(subscriber, tableName, changeReceiver));
          }
      }
docs: simple subscribe/query with filter string