public StructuredMessage withStructuredMessageDefinition(StructuredMessageFieldNameAndDataTypePair... structuredMessageDefinition) {
        if (this.structuredMessageDefinition == null) {
            setStructuredMessageDefinition(new java.util.ArrayList<StructuredMessageFieldNameAndDataTypePair>(structuredMessageDefinition.length));
        }
        for (StructuredMessageFieldNameAndDataTypePair ele : structuredMessageDefinition) {
            this.structuredMessageDefinition.add(ele);
        }
        return this;
    }
<p>
Represents a struct type node of the complex data structure.
</p>
<p>
<b>NOTE:</b> This method appends the values to the existing list (if any). Use
{@link #setStructuredMessageDefinition(java.util.Collection)} or
{@link #withStructuredMessageDefinition(java.util.Collection)} if you want to override the existing values.
</p>

@param structuredMessageDefinition
       Represents a struct type node of the complex data structure.
@return Returns a reference to this object so that method calls can be chained together.
aws-java-sdk-iotfleetwise/src/main/java/com/amazonaws/services/iotfleetwise/model/StructuredMessage.java