private void doDiscard() {
		int currentCapacity = this.pastOperations.size() + this.futureOperations.size();
		while(currentCapacity > this.maximumCapacity) {
			T removedCommand;
			if(this.pastOperations.isEmpty()) {
				// We remove the most distant future operation in order not to break the continuum.
				removedCommand = this.futureOperations.remove(this.futureOperations.size() - 1);
			} else {
				// We remove the oldest operation in order not to break the continuum.
				removedCommand = this.pastOperations.remove(0);
			}
			this.commandInformation.remove(removedCommand);
			currentCapacity--;
		}
	}