code: def get_icon_for(self, brain_or_object):
          
          portal_types = api.get_tool("portal_types")
          fti = portal_types.getTypeInfo(api.get_portal_type(brain_or_object))
          icon = fti.getIcon()
          if not icon:
              return ""
          # Always try to get the big icon for high-res displays
          icon_big = icon.replace(".png", "_big.png")
          # fall back to a default icon if the looked up icon does not exist
          if self.context.restrictedTraverse(icon_big, None) is None:
              icon_big = None
          portal_url = api.get_url(api.get_portal())
          title = api.get_title(brain_or_object)
          html_tag = "<img title='{}' src='{}/{}' width='16' />".format(
              title, portal_url, icon_big or icon)
          logger.info("Generated Icon Tag for {}: {}".format(
              api.get_path(brain_or_object), html_tag))
          return html_tag
docs: Get the navigation portlet icon for the brain or object
  
          The cache key ensures that the lookup is done only once per domain name