def recode(self, table: pd.DataFrame, validate=False) -> pd.DataFrame:
        """Pass the appropriate columns through each recoder function sequentially and return the final result.

        Args:
            table (pd.DataFrame): A dataframe on which to apply recoding logic.
            validate (bool): If ``True``, recoded table must pass validation tests.
        """
        return self._recode_output(self._recode_input(table, validate=validate), validate=validate)