protected int decryptMore() throws IOException {
  if (finalDone) {
    return -1;
  }
  int n=input.read(inBuffer);
  if (n < 0) {
    decryptFinal();
    int remaining=outBuffer.remaining();
    if (remaining > 0) {
      return remaining;
    }
    return -1;
  }
 else   if (n == 0) {
    return 0;
  }
 else {
    decrypt();
    return outBuffer.remaining();
  }
}

protected int decryptMore ( ) throws IOException { if ( finalDone ) { return - 1 ; } int n = input . read ( inBuffer ) ; if ( n < 0 ) { decryptFinal ( ) ; int remaining = outBuffer . remaining ( ) ; if ( remaining > 0 ) { return remaining ; } return - 1 ; } else if ( n == 0 ) { return 0 ; } else { decrypt ( ) ; return outBuffer . remaining ( ) ; } }
decrypts more data by reading the under layer stream . the decrypted data will be put in the output buffer . if the end of the under stream reached , we will do final of the cipher to finish all the decrypting of data .
