def create_collection(href, cls):
    """
    This collection type inserts a ``create`` method into the collection.
    This will proxy to the sub elements create method while restricting
    access to other attributes that wouldn't be initialized yet.
    
    .. py:method:: create(...)
    
    Create method is inserted dynamically for the collection class type.
    See the class types documentation, or use help().

    :rtype: SubElementCollection    
    """
    instance = cls(href=href)
    meth = getattr(instance, 'create')
    return type(
         cls.__name__, (SubElementCollection,), {'create': meth})(href, cls)