docs: boolean remove(double x, double y, double z) {
  		for(int i=0, j=0; i<this.numCoordsProperty.get() && j<this.numTypesProperty.get();) {
  			switch(this.types[j]) {
  			case MOVE_TO:
  			case LINE_TO:
  				if (x==this.coordsProperty[i].get() && y==this.coordsProperty[i+1].get() && z==this.coordsProperty[i+2].get()) {
  					this.numCoordsProperty.set(this.numCoordsProperty.get()-3);
  					this.numTypesProperty.set(this.numTypesProperty.get()-1);
  					System.arraycopy(this.coordsProperty, i+3, this.coordsProperty, i, this.numCoordsProperty.get());
  					System.arraycopy(this.types, j+1, this.types, j, this.numTypesProperty.get());
  					this.isEmptyProperty = null;
  					return true;
  				}
  				i += 3;
  				++j;
  				break;
  			case CURVE_TO:
  				if ((x==this.coordsProperty[i].get() && y==this.coordsProperty[i+1].get() && z==this.coordsProperty[i+2].get())
  						||(x==this.coordsProperty[i+3].get() && y==this.coordsProperty[i+4].get() && z==this.coordsProperty[i+5].get())
  						||(x==this.coordsProperty[i+6].get() && y==this.coordsProperty[i+7].get() && z==this.coordsProperty[i+8].get())) {
  					this.numCoordsProperty.set(this.numCoordsProperty.get()-9);
  					this.numTypesProperty.set(this.numTypesProperty.get()-1);
  					System.arraycopy(this.coordsProperty, i+9, this.coordsProperty, i, this.numCoordsProperty.get());
  					System.arraycopy(this.types, j+1, this.types, j, this.numTypesProperty.get());
  					this.isEmptyProperty = null;
  					this.isPolylineProperty = null;
  					return true;
  				}
  				i += 9;
  				++j;
  				break;
  			case QUAD_TO:
  				if ((x==this.coordsProperty[i].get() && y==this.coordsProperty[i+1].get() && z==this.coordsProperty[i+2].get())
  						||(x==this.coordsProperty[i+3].get() && y==this.coordsProperty[i+4].get() && z==this.coordsProperty[i+5].get())) {
  					this.numCoordsProperty.set(this.numCoordsProperty.get()-6);
  					this.numTypesProperty.set(this.numTypesProperty.get()-1);
  					System.arraycopy(this.coordsProperty, i+6, this.coordsProperty, i, this.numCoordsProperty.get());
  					System.arraycopy(this.types, j+1, this.types, j, this.numTypesProperty.get());
  					this.isEmptyProperty = null;
  					this.isPolylineProperty = null;
  					return true;
  				}
  				i += 6;
  				++j;
  				break;
  			case CLOSE:
  				++j;
  				break;
  			default:
  				break;
  			}
  		}
  		return false;
  	}