code: private Predicate<HelpPage> query(final Predicate<HelpPage> predicate) {
      Predicate<HelpPage> query = predicate;
  
      if (includeAll == null || !includeAll) {
        if (includeAliases != null && !includeAliases) {
          query = query.and(TypePredicate.of(AliasHelpPage.class).negate());
        }
        if (includeMeta != null && !includeMeta) {
          query = query.and(TypePredicate.of(MetaHelpPage.class).negate());
        }
        if (includeCommands != null && !includeCommands) {
          query = query.and(TypePredicate.of(CommandHelpPage.class).negate());
        }
        if (includeGroups != null && !includeGroups) {
          query = query.and(TypePredicate.of(GroupHelpPage.class).negate());
        }
      }
  
      return query;
    }
docs: FIXME: this and the --include-all doesn't seem to be very happy, redefine one one queries different types of pages