def _return_class(self, ent_dict,
                      child=None, child_id=None, entity_id=None, collection=None):
        ent_type = ent_dict.get('_type', ent_dict.get('type'))
        relations = ent_dict.get('relations')
        if child is not None:
            # Child can be either a target dimension (with an ID) or
            # a bare child, like concepts or permissions. These should not
            # have an ID passed in.anyway i'm at
            if child_id is not None:
                ent_dict['id'] = child_id
            ent_dict['parent_id'] = entity_id
            ent_dict['parent'] = collection
        if relations is not None:
            for rel_name, data in six.iteritems(relations):
                if isinstance(data, list):
                    ent_dict[rel_name] = []
                    for cls in data:
                        ent_dict[rel_name].append(self._return_class(cls))
                else:
                    ent_dict[rel_name] = self._return_class(data)
            ent_dict.pop('relations', None)
        return self.new(ent_type, properties=ent_dict)
:ivar boto.ec2.elb.ELBConnection connection: The connection this load
dataset/ETHPy150Open MediaMath/t1-python/terminalone/service.py/T1._return_class--crossover with--dataset/ETHPy150Open darcyliu/storyboard/boto/ec2/elb/loadbalancer.py/LoadBalancer.__init__