public boolean isVisible(Hashtable overallRoles) {

    if (roles.size() == 0) {
      return false;
    }

    Enumeration keys = roles.keys();

    while (keys.hasMoreElements()) {
      String nextKey = (String) keys.nextElement();

      Boolean thisElement = (Boolean) roles.get(nextKey);
      if (!overallRoles.containsKey(nextKey)) {
        Global.getPref().log("Lookup role " + nextKey + " not possible", null);
        return false;
      }

      Role overallElement = (Role) overallRoles.get(nextKey);
      if (thisElement.booleanValue() != overallElement.getState()) {
        return false;
      }
    }

    return true;
  }
 /** returns an enumeration containing the name strings for curves contained in this structure. */
 public static Enumeration getNames() {
   return objIds.keys();
 }