def METHOD_NAME(
    self,
    color: Optional[str] = None,
    opacity: float = 1.0,
    theme: Optional[str] = None,
    theme_key: str = 'icon',
) -> 'QColoredSVGIcon':
    """Return a new colorized QIcon instance.
    Parameters
    ----------
    color : str, optional
        A valid CSS color string, used to colorize the SVG.  If provided,
        will take precedence over ``theme``, by default None.
    opacity : float, optional
        Fill opacity for the icon (0-1).  By default 1 (opaque).
    theme : str, optional
        Name of the theme to from which to get `theme_key` color.
        ``color`` argument takes precedence.
    theme_key : str, optional
        If using a theme, key in the theme dict to use, by default 'icon'
    Returns
    -------
    QColoredSVGIcon
        A pre-colored QColoredSVGIcon (which may still be recolored)
    """
    if not color and theme:
        from napari.utils.theme import get_theme
        color = getattr(get_theme(theme), theme_key).as_hex()
    return QColoredSVGIcon(self._svg, color, opacity)