def METHOD_NAME(self, kwargs):
    """Custom keyword argument validation
    - Secondary index
    - Pagination
    - Filters with max count
    """
    if self.secondary_index_options:
        two_year_transaction_periods = set(
            kwargs.get('two_year_transaction_period', [])
        )
        if len(two_year_transaction_periods) != 1:
            if not any(kwargs.get(field) for field in self.secondary_index_options):
                raise exceptions.ApiError(
                    "Please choose a single `two_year_transaction_period` or "
                    "add one of the following filters to your query: `{}`".format(
                        "`, `".join(self.secondary_index_options)
                    ),
                    status_code=400,
                )
    if kwargs.get("last_index"):
        if all(
            kwargs.get("last_{}".format(option)) is None
            for option in self.sort_options
        ) and not kwargs.get("sort_null_only"):
            raise exceptions.ApiError(
                "When paginating through results, both values from the \
                previous page's `last_indexes` object are needed. For more information, \
                see https://api.open.fec.gov/developers/. Please add one of the following \
                filters to your query: `sort_null_only`=True, {}".format(
                    ", ".join("`last_" + option + "`" for option in self.sort_options)
                ),
                status_code=422,
            )
    over_limit_fields = [
        field
        for field in self.filters_with_max_count
        if len(kwargs.get(field, [])) > self.max_count
    ]
    if over_limit_fields:
        raise exceptions.ApiError(
            "Can only specify up to {0} values for `{1}`".format(
                self.max_count, "`, `".join(over_limit_fields)
            ),
            status_code=422,
        )