code: public byte[] update(byte[] input){
  		if(!cfg)
  			throw new Exceptions.CipherNotInitializedException();
  		if(input.length == 0)
  			return null;
  		if(input.length > buffer.capacity())
  			buffer.resize(input.length + blockSize);
  		while(buffer.filled() < input.length){
  			bufferKeystream();
  		}
  		return Misc.XORintoA(buffer.deQueue(input.length), input);
  	}
docs: Continues a multiple-part encryption or decryption operation (depending on how this cipher was initialized), processing another data part.
  The bytes in the input buffer are processed, and the result is stored in a new buffer.
  
  If input has a length of zero, this method returns null.
  @param input
  @return