def filter_collections(self, model, context=None):
        """
        Filter collections
        Runs filters on collection properties changing them in place.
        :param model:  object or dict
        :param context: object, dict or None
        :return: None
        """
        if model is None:
            return

        for property_name in self.collections:
            prop = self.collections[property_name]
            collection = self.get(model, property_name)
            filtered_value = prop.filter(
                value=collection,
                model=model,
                context=context
            )
            self.set(model, property_name, filtered_value)

            prop.filter_with_schema(
                collection,
                context if prop.use_context else None
            )