final Rect edgeBounds = RectParser.parse(parser, "DefineShape4::EdgeBounds");
final UBits reserved = parseUBits(parser, 5, 0x00006, "DefineShape4::Reserved");
final Flag usesFillWindingRule = parseFlag(parser, 0x00006, "DefineShape4::UsesFillWindingRule");
final Flag usesNonScalingStrokes = parseFlag(parser, 0x00006, "DefineShape4::UsesNonScalingStrokes");
final Flag usesScalingStrokes = parseFlag(parser, 0x00006, "DefineShape4::UsesScalingStrokes");
final ShapeWithStyle4 shapes = ShapeWithStyle4Parser.parse(parser, "DefineShape4::Shapes");
return new DefineShape4Tag(header, shapeId, shapeBounds, edgeBounds, reserved, usesFillWindingRule, usesNonScalingStrokes, usesScalingStrokes, shapes);
}