code: public void removeLast() {
  		if (this.numTypesProperty.get()>0) {
  			switch(this.types[this.numTypesProperty.get()-1]) {
  			case CLOSE:
  				// no coord to remove
  				break;
  			case MOVE_TO:
  			case LINE_TO:
  				this.numCoordsProperty.set(this.numCoordsProperty.get()-3);
  				break;
  			case CURVE_TO:
  				this.numCoordsProperty.set(this.numCoordsProperty.get()-9);
  				this.isPolylineProperty = null;
  				break;
  			case QUAD_TO:
  				this.numCoordsProperty.set(this.numCoordsProperty.get()-6);
  				this.isPolylineProperty = null;
  				break;
  			default:
  				throw new IllegalStateException();
  			}
  			this.numTypesProperty.set(this.numTypesProperty.get()-1);
  			this.isEmptyProperty = null;
  			this.graphicalBounds = null;
  			this.logicalBounds = null;
  		}
  	}
docs: Remove the last action.