if (location.startsWith("http:")) { location = URLEncoder.encode(location, "UTF-8"); }
    public String locate(String hint, Map om) throws Exception {        String location = null;        final InvokeContext context = new InvokeContext();        final Logger contextLogger = getLogger().getChildLogger("ctx");        ContainerUtil.enableLogging(context, contextLogger);        ContainerUtil.compose(context, new WrapperComponentManager(m_manager));        ContainerUtil.service(context, m_manager);        final Map anchorMap = new HashMap(2);        anchorMap.put(HINT_KEY,hint);        context.pushMap(ANCHOR_NAME,anchorMap);        //mounted locations first        if (m_mountNodes != null) {          for (int i = 0; i < m_mountNodes.length; i++) {            location = m_mountNodes[i].locate(om,context);            if (location !=null) {              ContainerUtil.dispose(context);              return location;            }          }        }                if (m_locatorNodes != null) {          for (int i = 0; i < m_locatorNodes.length; i++) {              location = m_locatorNodes[i].locate(om,context);              if (location != null) {                  break;              }          }        }                ContainerUtil.dispose(context);        if (location == null) {            String msg = "No Lovcation returned for hint " + hint;            getLogger().error(msg);;            throw new Exception(msg);        }        return location;    }