offset - temp_offset - 2 * increment;
offset - temp_offset -  (increment<<1);
	private int process_comment() throws ParseException, EncodingException, EOFException{		int parser_state,length1;		while (true) {			ch = r.getChar();			if (XMLChar.isValidChar(ch)) {				if (ch == '-' && r.skipChar('-')) {					length1 =						offset - temp_offset - 2 * increment;					break;				}			} else				throw new ParseException(					"Error in comment: Invalid Char"						+ formatLineNumber());		}		if (r.getChar() == '>') {			//System.out.println(" " + (temp_offset) + " " + length1 + " comment " + depth);			if (encoding < FORMAT_UTF_16BE)				writeVTD(					temp_offset,					length1,					TOKEN_COMMENT,					depth);			else				writeVTD(					temp_offset >> 1,					length1 >> 1,					TOKEN_COMMENT,					depth);			//length1 = 0;			temp_offset = offset;			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;			} 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(					"Error in text content: Invalid char"						+ formatLineNumber());			return parser_state;		} else			throw new ParseException(				"Error in comment: Invalid terminating sequence"					+ formatLineNumber());	}