code: public static InternalQName parse(String qName) throws IllegalNameException
     {
  
        if (!qName.startsWith("["))
           throw new IllegalNameException("Invalid Internal QName '" + qName + "' Should start of '['");
        int uriStart = 0;
        int uriFinish = qName.indexOf("]", uriStart);
        if (uriFinish == -1)
           throw new IllegalNameException("Invalid Internal QName '" + qName + "' No closed ']'");
        String uri = qName.substring(uriStart + 1, uriFinish);
        String localName = qName.substring(uriFinish + 1, qName.length());
        return new InternalQName(uri, localName);
     }
docs: Parse qname in form of eXo-JCR names conversion string. E.g. [name_space]item_name,
  [http://www.jcp.org/jcr/nt/1.0]:base.
  
  @param qName
  - String to be parsed
  @return InternalQName instance
  @throws IllegalNameException
  if String contains invalid QName