def METHOD_NAME(self, feature_flag_names, matching_key, bucketing_key, attributes=None):
    """
    Evaluate the user submitted data against multiple features and return the resulting
    treatment.
    :param feature_flag_names: The feature flags for which to get the treatments
    :type feature:  list(str)
    :param matching_key: The matching_key for which to get the treatment
    :type matching_key: str
    :param bucketing_key: The bucketing_key for which to get the treatment
    :type bucketing_key: str
    :param attributes: An optional dictionary of attributes
    :type attributes: dict
    :return: The treatments for the key and feature flags
    :rtype: object
    """
    return {
        feature_flag_name: self._evaluate_treatment(feature_flag_name, matching_key,
                                          bucketing_key, attributes, feature_flag)
        for (feature_flag_name, feature_flag) in self._feature_flag_storage.fetch_many(feature_flag_names).items()
    }