implReset();
	protected CoderResult implFlush(ByteBuffer out) {		try {			data[OUTPUT_OFFSET] = getArray(out);			ec = NativeConverter.flushCharToByte(converterHandle,/* Handle to ICU Converter */                                        		 output, /* output array of chars */                                        		 outEnd, /* output index+1 to be written */                                        		 data /* contains data, inOff,outOff */                                        		);			/* If we don't have room for the output, throw an exception*/			if (ErrorCode.isFailure(ec)) {				if (ec == ErrorCode.U_BUFFER_OVERFLOW_ERROR) {					return CoderResult.OVERFLOW;				}else if (ec == ErrorCode.U_TRUNCATED_CHAR_FOUND) {//CSDL: add this truncated character error handling                    return CoderResult.malformedForLength(data[INPUT_OFFSET]);                }else {                    ErrorCode.getException(ec);                }			}			implReset();			return CoderResult.UNDERFLOW;		} finally {			setPosition(out);		}	}