cdm/src/main/java/ucar/unidata/geoloc/ogc/WKTParser.java
private void parseProjcs() throws ParseException {
    eatLiteral("PROJCS[");
    projName = eatString();
    eatComma();
    parseGeogcs();
    for (; ; ) {
      char next = getChar();
      if (next == ']') {
        break;
      } else if (next != ',') {
        throw new ParseException("expected , or ]", position);
      } else {
        String term = eatTerm();
        if ("PARAMETER".equals(term)) {
          eatParameter();
        } else if ("UNIT".equals(term)) {
          eatProjcsUnit();
        } else if ("PROJECTION".equals(term)) {
          eatProjectionType();
        }
      }
    }
  }
private void parseProjcs() throws ParseException {
    eatLiteral("PROJCS[");
    projName = eatString();
    eatComma();
    parseGeogcs();
    for (; ; ) {
      char next = getChar();
      if (next == ']') {
        break;
      } else if (next != ',') {
        throw new ParseException("expected , or ]", position);
      } else {
        String term = eatTerm();
        if ("PARAMETER".equals(term)) {
          eatParameter();
        } else if ("UNIT".equals(term)) {
          eatProjcsUnit();
        } else if ("PROJECTION".equals(term)) {
          eatProjectionType();
        }
      }
    }
  }
private void parseProjcs ( ) throws ParseException { eatLiteral ( "PROJCS[" ) ; projName = eatString ( ) ; eatComma ( ) ; parseGeogcs ( ) ; for ( ; ; ) { char next = getChar ( ) ; if ( next == ' ' ) { break ; } else if ( next != ' ' ) { throw new ParseException ( "expected , or ]" , position ) ; } else { String term = eatTerm ( ) ; if ( "PARAMETER" . equals ( term ) ) { eatParameter ( ) ; } else if ( "UNIT" . equals ( term ) ) { eatProjcsUnit ( ) ; } else if ( "PROJECTION" . equals ( term ) ) { eatProjectionType ( ) ; } } } }
_more_

@throws ParseException _more_
_more_