(cls, data_property, path=lambda x: x, selector=lambda x: True, item_class=None, \
        collection_class=BoundCollection, **kwargs)
Binds the subset of node's children to a collection property

        :param data_property: property name to be created
        :param path: ``lambda self.node: PropertyNode``, can be used to point binding to another Node instead of ``self.node``.
        :param selector: ``lambda Node: bool``, can be used to filter out a subset of child nodes
        :param item_class: a :class:`BoundData` subclass to be used for collection items
        :param collection_class: a :class:`BoundCollection` subclass to be used for collection property itself
Binds the subset of node's children to a collection property
Binds the subset of node s children to a collection property
def bind_collection(cls, data_property, path=lambda x: x, selector=lambda x: True, item_class=None, \
        collection_class=BoundCollection, **kwargs):
        """
        Binds the subset of node's children to a collection property

        :param data_property: property name to be created
        :param path: ``lambda self.node: PropertyNode``, can be used to point binding to another Node instead of ``self.node``.
        :param selector: ``lambda Node: bool``, can be used to filter out a subset of child nodes
        :param item_class: a :class:`BoundData` subclass to be used for collection items
        :param collection_class: a :class:`BoundCollection` subclass to be used for collection property itself
        """
        def pget(self):
            if not hasattr(self, '__' + data_property):
                setattr(self, '__' + data_property,
                    collection_class(
                        node=path(self._node),
                        item_class=item_class,
                        selector=selector,
                        **kwargs
                    )
                )
            return getattr(self, '__' + data_property)

        cls.bind(data_property, pget, None)
def bind_collection ( cls , data_property , path = lambda x : x , selector = lambda x : True , item_class = None , collection_class = BoundCollection , * * kwargs ) : def pget ( self ) : if not hasattr ( self , '__' + data_property ) : setattr ( self , '__' + data_property , collection_class ( node = path ( self . _node ) , item_class = item_class , selector = selector , * * kwargs ) ) return getattr ( self , '__' + data_property ) cls . bind ( data_property , pget , None )