code: private ActionSet getElementActionsExplicit(String ns) {
      ActionSet actions = (ActionSet)elementMap.get(ns);
      if (actions==null) {
        // iterate namespace specifications.
        for (Enumeration e = nssElementMap.keys(); e.hasMoreElements() && actions==null;) {
          NamespaceSpecification nssI = (NamespaceSpecification)e.nextElement();
          // If a namespace specification convers the current namespace URI then we get those actions.
          if (nssI.covers(ns)) {
            actions = (ActionSet)nssElementMap.get(nssI);
          }
        }
        // Store them in the element Map for faster access next time.
        if (actions!=null) {
          elementMap.put(ns, actions);
        }
      }
      // Look into the included modes
      if (actions == null && includedModes != null) {
        Iterator i = includedModes.iterator();
        while (actions == null && i.hasNext()) {
          Mode includedMode = (Mode)i.next();
          actions = includedMode.getElementActionsExplicit(ns);
        }
        if (actions != null) {
          actions = actions.changeCurrentMode(this);                    
          elementMap.put(ns, actions);
        }
      }
          
      // No actions specified, look into the base mode.
      if (actions == null && baseMode != null) {
        actions = baseMode.getElementActionsExplicit(ns);
        if (actions != null) {
          actions = actions.changeCurrentMode(this);
          elementMap.put(ns, actions);
        }
      }
  
      if (actions!=null && actions.getCancelNestedActions()) {
        actions = null;
      }
      
      return actions;
    }
docs: Look for element actions specifically specified
  for this namespace. If the current mode does not have
  actions for that namespace look at base modes. If the actions
  are defined in a base mode we need to get a copy of those actions
  associated with this mode, so we call changeCurrentMode on them.
  
  @param ns The namespace
  @return A set of element actions.