def find(file_node, dirs=ICON_DIRS, default_name=None, file_ext='.png'):
        """
        Iterating all icon dirs, try to find a file called like the node's
        extension / mime subtype / mime type (in that order).
        For instance, for an MP3 file ("audio/mpeg"), this would look for:
        "mp3.png" / "audio/mpeg.png" / "audio.png" 
        """
        names = []
        for attr_name in ('extension', 'mimetype', 'mime_supertype'):
            attr = getattr(file_node, attr_name)
            if attr:
                names.append(attr)
        if default_name:
            names.append(default_name)
        icon_path = StaticPathFinder.find(names, dirs, file_ext)
        if icon_path:
            return StaticIconFile(file_node, icon_path)
Iterating all icon dirs, try to find a file called like the node's
        extension / mime subtype / mime type (in that order).
        For instance, for an MP3 file ("audio/mpeg"), this would look for:
        "mp3.png" / "audio/mpeg.png" / "audio.png"