code: public ISynchronizationPoint<IOException> flush() {
  		if (nbPrev == 0)
  			return lastWrite;
  		while (nbPrev < 4)
  			previous[nbPrev++] = '=';
  		try { write(Base64.decode(previous), null); }
  		catch (IOException e) {
  			return new SynchronizationPoint<>(e);
  		}
  		return lastWrite;
  	}
docs: Decode any pending bytes, then return a synchronization point that will be unblocked once
  the last writing operation is done.