docs: public void restore() {
  		this.gc.restore();
  		if (this.stateStack != null) {
  			if (!this.stateStack.isEmpty()) {
  				final int[] data = this.stateStack.pop();
  				if (this.stateStack.isEmpty()) {
  					this.stateStack = null;
  				}
  				this.bugdet = data[0];
  				this.state = data[1];
  			} else {
  				this.stateStack = null;
  			}
  		}
  	}