} else
} /*else
	private int process_cdata() throws ParseException, EncodingException, EOFException{		int parser_state, length1;		while (true) {			ch = r.getChar();			if (XMLChar.isValidChar(ch)) {				if (ch == ']' && r.skipChar(']')) {					while (r.skipChar(']'));					if (r.skipChar('>')) {						break;					} else						throw new ParseException(							"Error in CDATA: Invalid termination sequence"								+ formatLineNumber());				}			} else				throw new ParseException(					"Error in CDATA: Invalid Char"						+ formatLineNumber());		}		length1 = offset - temp_offset -  (increment<<1) - increment;		if (encoding < FORMAT_UTF_16BE){						writeVTD(				temp_offset,				length1,				TOKEN_CDATA_VAL,				depth);		}		else {						writeVTD(				temp_offset >> 1,				length1 >> 1,				TOKEN_CDATA_VAL,				depth);		}		//System.out.println(" " + (temp_offset) + " " + length1 + " CDATA " + depth);		ch = getCharAfterSe();		if (ch == '<') {			parser_state = STATE_LT_SEEN;		} else if (XMLChar.isContentChar(ch)) {			temp_offset = offset;			parser_state = STATE_TEXT;		} else if (ch == '&') {			//has_amp = true;			temp_offset = offset;			entityIdentifier();			parser_state = STATE_TEXT;			//temp_offset = offset;		} else if (ch == ']') {			if (r.skipChar(']')) {				while (r.skipChar(']')) {				}				if (r.skipChar('>'))					throw new ParseException(						"Error in text content: ]]> in text content"							+ formatLineNumber());			}			parser_state = STATE_TEXT;		}else			throw new ParseException(				"Other Error: Invalid char in xml"					+ formatLineNumber());		return parser_state;	}