def validate_collections(self, model, context=None):
result = Result()<EOL>for property_name in self.collections:<EOL><INDENT>prop = self.collections[property_name]<EOL>collection = self.get(model, property_name)<EOL>errors = prop.validate(<EOL>value=collection,<EOL>model=model,<EOL>context=context<EOL>)<EOL>if len(errors):<EOL><INDENT>result.add_collection_errors(<EOL>property_name=property_name,<EOL>direct_errors=errors<EOL>)<EOL><DEDENT>collection_errors = prop.validate_with_schema(<EOL>collection=collection,<EOL>context=context<EOL>)<EOL>result.add_collection_errors(<EOL>property_name=property_name,<EOL>collection_errors=collection_errors<EOL>)<EOL><DEDENT>return result<EOL>
Validate collection properties
Performs validation on collection properties to return a result object.
:param model:  object or dict
:param context: object, dict or None
:return: shiftschema.result.Result