private static Vector<String> insStringToStringifiedComps(String str) throws InvalidNameException {
  int len=str.length();
  Vector<String> components=new Vector<>(10);
  char[] id=new char[len];
  char[] kind=new char[len];
  int idCount, kindCount;
  boolean idMode;
  for (int i=0; i < len; ) {
    idCount=kindCount=0;
    idMode=true;
    while (i < len) {
      if (str.charAt(i) == compSeparator) {
        break;
      }
 else       if (str.charAt(i) == escapeChar) {
        if (i + 1 >= len) {
          throw new InvalidNameException(str + ": unescaped \\ at end of component");
        }
 else         if (isMeta(str.charAt(i + 1))) {
          ++i;
          if (idMode) {
            id[idCount++]=str.charAt(i++);
          }
 else {
            kind[kindCount++]=str.charAt(i++);
          }
        }
 else {
          throw new InvalidNameException(str + ": invalid character being escaped");
        }
      }
 else       if (idMode && str.charAt(i) == kindSeparator) {
        ++i;
        idMode=false;
      }
 else {
        if (idMode) {
          id[idCount++]=str.charAt(i++);
        }
 else {
          kind[kindCount++]=str.charAt(i++);
        }
      }
    }
    components.addElement(stringifyComponent(new NameComponent(new String(id,0,idCount),new String(kind,0,kindCount))));
    if (i < len) {
      ++i;
    }
  }
  return components;
}

private static Vector < String > insStringToStringifiedComps ( String str ) throws InvalidNameException { int len = str . length ( ) ; Vector < String > components = new Vector < > ( 10 ) ; char [ ] id = new char [ len ] ; char [ ] kind = new char [ len ] ; int idCount , kindCount ; boolean idMode ; for ( int i = 0 ; i < len ; ) { idCount = kindCount = 0 ; idMode = true ; while ( i < len ) { if ( str . charAt ( i ) == compSeparator ) { break ; } else if ( str . charAt ( i ) == escapeChar ) { if ( i + 1 >= len ) { throw new InvalidNameException ( str + ": unescaped \\ at end of component" ) ; } else if ( isMeta ( str . charAt ( i + 1 ) ) ) { ++ i ; if ( idMode ) { id [ idCount ++ ] = str . charAt ( i ++ ) ; } else { kind [ kindCount ++ ] = str . charAt ( i ++ ) ; } } else { throw new InvalidNameException ( str + ": invalid character being escaped" ) ; } } else if ( idMode && str . charAt ( i ) == kindSeparator ) { ++ i ; idMode = false ; } else { if ( idMode ) { id [ idCount ++ ] = str . charAt ( i ++ ) ; } else { kind [ kindCount ++ ] = str . charAt ( i ++ ) ; } } } components . addElement ( stringifyComponent ( new NameComponent ( new String ( id , 0 , idCount ) , new String ( kind , 0 , kindCount ) ) ) ) ; if ( i < len ) { ++ i ; } } return components ; }
converts an ins - syntax string name into a vector in which each element of the vector contains a stringified form of a namecomponent .
