'Constructs an _AssociationCollection.
This will always be a subclass of either _AssociationList,
_AssociationSet, or _AssociationDict.
lazy_collection
A callable returning a list-based collection of entities (usually an
object attribute managed by a SQLAlchemy relationship())
creator
A function that creates new target entities.  Given one parameter:
value.  This assertion is assumed::
obj = creator(somevalue)
assert getter(obj) == somevalue
getter
A function.  Given an associated object, return the \'value\'.
setter
A function.  Given an associated object and a value, store that
value on the object.'

def __init__(self, lazy_collection, creator, getter, setter, parent):

    self.lazy_collection = lazy_collection
    self.creator = creator
    self.getter = getter
    self.setter = setter
    self.parent = parent
