def buildEntity(self):
        if not self.__proxies:
            raise Exception('No proxies added so far, cannot build entity')
        
        primaryProxy = self.__proxies[0]
        entity = Entity.buildEntity(kind=primaryProxy.kind)
        entity.kind = primaryProxy.kind 
        entity.types = primaryProxy.types

        if entity.isType('book'):
            entity.title = self.__chooseBookTitle()
        else:
            entity.title = self.__chooseBestTitle()

        sourceContainer = BasicSourceContainer()
        for proxy in self.__proxies:
            sourceContainer.addSource(EntityProxySource(proxy))

        sourceContainer.enrichEntity(entity, {})
        
        return entity