length1 = offset - temp_offset - 2 * increment;
length1 = offset - temp_offset - (increment<<1);
	private int process_comment() throws ParseException, EncodingException, EOFException{		int length1;		int parser_state;		while (true) {			ch = getChar();			if (XMLChar.isValidChar(ch)) {				if (ch == '-' && skipChar('-')) {					length1 = offset - temp_offset - 2 * increment;					break;				}			} else				throw new ParseException(						"Error in comment: Invalid Char"								+ formatLineNumber());		}		if (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 (skipChar(']')) {					while (skipChar(']')) {					}					if (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());		//return 1;	}