*
* @throws SWFParserException Thrown if the structure could not be parsed.
*/
public static MorphFillStyle parse(final SWFBinaryParser parser, final String fieldName) throws SWFParserException {
final UINT8 fillStyleType = parseUINT8(parser, 0x00006, fieldName + "::FillStyleType");
final int fillStyleTypeValue = fillStyleType.value();
final RGBA startColor = RGBAParser.parseIf(parser, fillStyleTypeValue == 0x00, fieldName + "::StartColor");
final RGBA endColor = RGBAParser.parseIf(parser, fillStyleTypeValue == 0x00, fieldName + "::EndColor");
final Matrix startGradientMatrix = MatrixParser.parseIf(parser, fillStyleTypeValue == 0x10 || fillStyleTypeValue == 0x12, fieldName + "::StartGradientMatrix");
final Matrix endGradientMatrix = MatrixParser.parseIf(parser, fillStyleTypeValue == 0x10 || fillStyleTypeValue == 0x12, fieldName + "::EndGradientMatrix");
final MorphGradient gradient = MorphGradientParser.parseIf(parser, fillStyleTypeValue == 0x10 || fillStyleTypeValue == 0x12, fieldName + "::Gradient");