public static List<? extends SymbolDrawer> getDrawer(Object obj) throws MalformedURLException {
        if (obj == null)
            return Collections.EMPTY_LIST;
        else if (obj instanceof SymbolDrawer)
            return Collections.singletonList((SymbolDrawer)obj);
        else if (obj instanceof Icon)
            return Collections.singletonList(new ImageIconDrawer((Icon)obj));
        else if (obj instanceof MagicColor)
            return Collections.singletonList(new ImageIconDrawer(SymbolFactory.getIcon((MagicColor)obj)));
        else if (obj instanceof String)
            return Collections.singletonList(new TextSymbolDrawer((String)obj));
        else if (obj instanceof Release) {
            List<SymbolDrawer> icons = new ArrayList<SymbolDrawer>();
            Release set = (Release)obj;
            for(Rarity r: Rarity.values())
                icons.add(new ImageIconDrawer(SymbolFactory.getIcon(set, r)));
            return icons;
        } else
            throw new IllegalArgumentException("Unknown symbol object: " + obj.getClass());
    }