class $broker_type$(params.$entity_type$, Base):
    def __init__(self, $parentclass_parameter_name$, $superclass_parameter_name$, context):
        Base.__init__(self, context)
        self.parentclass = $parentclass_parameter_name$
        self.superclass  =  $superclass_parameter_name$

        #SUB_COLLECTIONS
    def __new__(cls, $parentclass_parameter_name$, $superclass_parameter_name$, context):
        if $superclass_parameter_name$ is None: return None
        obj = object.__new__(cls)
        obj.__init__($parentclass_parameter_name$, $superclass_parameter_name$, context)
        return obj

    def __getProxy(self):
        proxy = context.manager[self.context].get('proxy')
        if proxy:
            return proxy
        #This may happen only if sdk was explicitly disconnected
        #using .disconnect() method, but resource instance ref. is
        #still available at client's code.
        raise DisconnectedError

