GroupMatcherCategoryFilter(GroupMatcher included, GroupMatcher excluded) {
    GroupMatcher invertedExclude = excluded == null ? null : new InverseGroupMatcher(excluded);
    if (included != null || invertedExclude != null) {
      matcher = new AndGroupMatcher();
      if (included != null) {
        matcher.addMatcher(included);
      }

      if (invertedExclude != null) {
        matcher.addMatcher(invertedExclude);
      }
    } else {
      matcher = null;
    }
  }