// Note that we will apply node.x and node.y as a translation operation
// in the PlaceObject3 Matrix and instead start the shape from the
// origin (0.0, 0.0).
Ellipse2D.Double ellipse = new Ellipse2D.Double(0.0, 0.0, node.width, node.height);
ShapeBuilder builder = new ShapeBuilder();
ShapeIterator iterator = new PathIteratorWrapper(ellipse.getPathIterator(null));
builder.processShape(iterator);
Shape shape = builder.build();
return placeDefineShape(node, shape.shapeRecords, node.fill, node.stroke, node.createGraphicContext());