code: Object asJSON() {
          final Map<String, Object> json = new HashMap<>();
          json.put("JOIN", type.getTag());
          json.putAll(dataSource.asJSON());
          return json;
      }
docs: ---------------------------------------------