}
}else if(err>ErrorCode.U_ZERO_ERROR){ throw new MalformedInputException(); }
    public final int flush(char[] output, int outStart, int outEnd)                         throws IllegalArgumentException,                        ConversionBufferFullException {                /* argument check */        if(output==null){            throw new IllegalArgumentException();        }        /*set inputStart to 0 */                 data[0] = 0;         data[1] = outStart;                /* assume that output buffer is big enough since error is not handled*/        int err=NativeConverter.flushByteToChar(                                        converterHandle,  /* Handle to ICU Converter */                                        output,           /* output array of chars */                                        outEnd,           /* output index+1 to be written */                                        data              /* contains data, inOff,outOff */                                        );                                          /* save state */        byteOff  = data[0]; /* input offset */		charOff = data[1];  /* output offset */                /* if we donot have room for output throw an exception*/        if(err == ErrorCode.U_BUFFER_OVERFLOW_ERROR){		        throw new ConversionBufferFullException();		}                /* return the number of bytes written to ouput buffer */	    reset();	    return data[1];    }