if (name.equals("*")) { return false; }
if (name.equals("*")) return false;
    public boolean implies(Permission permission) {        if (!(permission instanceof PropertyPermission)) { return false; }        final PropertyPermission toImply = (PropertyPermission) permission;        int actions = toImply.actions;        if (all_allowed) {            int all_actions = ((PropertyPermission) permissions.get("*")).actions;            actions &= ~all_actions;            if (actions == 0) { return true; }        }        String name = toImply.getName();        if (name.equals("*")) { return false; }        int prefixLength = name.length();        if (name.endsWith("*")) {            prefixLength -= 2;        }        while (true) {            PropertyPermission forName = (PropertyPermission) permissions                    .get(name);            if (forName != null) {                actions &= ~forName.actions;                if (actions == 0) { return true; }            }            prefixLength = name.lastIndexOf('.', prefixLength - 1);            if (prefixLength < 0) { return false; }            name = name.substring(0, prefixLength + 1) + '*';        }    }