docs: public void curveTo(Point3d controlPoint1,
  			Point3d controlPoint2,
  			Point3d endPoint) {
  		ensureSlots(true, 9);
  
  		this.types[this.numTypesProperty.get()] = PathElementType.CURVE_TO;
  		this.numTypesProperty.set(this.numTypesProperty.get()+1);
  
  
  		this.coordsProperty[this.numCoordsProperty.get()] = controlPoint1.xProperty;
  		this.numCoordsProperty.set(this.numCoordsProperty.get()+1);
  
  		this.coordsProperty[this.numCoordsProperty.get()] = controlPoint1.yProperty;
  		this.numCoordsProperty.set(this.numCoordsProperty.get()+1);
  
  		this.coordsProperty[this.numCoordsProperty.get()] = controlPoint1.zProperty;
  		this.numCoordsProperty.set(this.numCoordsProperty.get()+1);
  
  
  		this.coordsProperty[this.numCoordsProperty.get()] = controlPoint2.xProperty;
  		this.numCoordsProperty.set(this.numCoordsProperty.get()+1);
  
  		this.coordsProperty[this.numCoordsProperty.get()] = controlPoint2.yProperty;
  		this.numCoordsProperty.set(this.numCoordsProperty.get()+1);
  
  		this.coordsProperty[this.numCoordsProperty.get()] = controlPoint2.zProperty;
  		this.numCoordsProperty.set(this.numCoordsProperty.get()+1);
  
  
  		this.coordsProperty[this.numCoordsProperty.get()] = endPoint.xProperty;
  		this.numCoordsProperty.set(this.numCoordsProperty.get()+1);
  
  		this.coordsProperty[this.numCoordsProperty.get()] = endPoint.yProperty;
  		this.numCoordsProperty.set(this.numCoordsProperty.get()+1);
  
  		this.coordsProperty[this.numCoordsProperty.get()] = endPoint.zProperty;
  		this.numCoordsProperty.set(this.numCoordsProperty.get()+1);
  
  		this.isEmptyProperty = null;
  		this.isPolylineProperty.set(false);
  		this.graphicalBounds = null;
  		this.logicalBounds = null;
  	}