code: public String declarePrefix(String uri){
          String prefix = getPrefix(uri);
          if(prefix==null){
              prefix = URLUtil.suggestPrefix(suggested, uri);
              if(getNamespaceURI(prefix)!=null){
                  int i = 1;
                  String _prefix;
                  while(true){
                      _prefix = prefix + i;
                      if(getNamespaceURI(_prefix)==null){
                          prefix = _prefix;
                          break;
                      }
                      i++;
                  }
              }
              declarePrefix(prefix, uri);
          }
          return prefix;
      }
docs: Declared the specified {@code uri} in this namespaceContext and returns
  the prefix to which it is bound.
  <p>
  the prefix is guessed from the suggested namespaces specified at construction
  or derived from the specified {@code uri}
  
  @param uri uri to be declared
  
  @return the prefix to which {@code uri} is bound
  
  @see jlibs.core.net.URLUtil#suggestPrefix(java.util.Properties, String)