docs: private ICondition makeConditionWithMatchType(String key, String operand, String valueString,
                                                    boolean ipAddress) throws FilterException {
          if (operand.equalsIgnoreCase(AuthFilterConfig.MATCH_TYPE_EQUALS)) {
              return new EqualCondition(key, makeValue(valueString, ipAddress), operand);
          } else if (operand.equalsIgnoreCase(AuthFilterConfig.MATCH_TYPE_NOT_CONTAIN)) {
              NotContainsCondition cond = new NotContainsCondition(key, operand);
              processOrValues(valueString, ipAddress, cond);
              return cond;
          } else if (operand.equalsIgnoreCase(AuthFilterConfig.MATCH_TYPE_CONTAINS)) {
              OrCondition cond = new OrCondition(key, operand);
              processOrValues(valueString, ipAddress, cond);
              return cond;
          } else if (operand.equalsIgnoreCase(AuthFilterConfig.MATCH_TYPE_LESS_THAN)) {
              return new LessCondition(key, makeValue(valueString, ipAddress), operand);
          } else if (operand.equalsIgnoreCase(AuthFilterConfig.MATCH_TYPE_GREATER_THAN)) {
              return new GreaterCondition(key, makeValue(valueString, ipAddress), operand);
          } else {
              Tr.error(tc, "AUTH_FILTER_MALFORMED_WORD_MATCH_TYPE", new Object[] { operand });
              throw new FilterException(TraceNLS.getFormattedMessage(this.getClass(),
                                                                     TraceConstants.MESSAGE_BUNDLE,
                                                                     "AUTH_FILTER_MALFORMED_WORD_MATCH_TYPE",
                                                                     null,
                                                                     "CWWKS4353E: The filter match type should be one of: equals, notContain, contains, greaterThan or lessThan. The match type used was {0}."));
          }
      }