@staticmethod
def _flatten(supported_opts):
    """
        Supported options are stored as lists, within categories. This reads all the
        option objects from the categories, and returns them as a single list, to
        avoid needing to constantly traverse the categories to get to the options.

        :param supported_opts: the class field that contains a list of categories,
        each of which contains a list of options

        :return: a list of only options
        """
    to_return = []
    if supported_opts:
        for category in supported_opts:
            to_return.extend(category.options)
    return to_return
