public PlacementType withAvailabilityZones(String... availabilityZones) {
        if (this.availabilityZones == null) {
            setAvailabilityZones(new com.amazonaws.internal.SdkInternalList<String>(availabilityZones.length));
        }
        for (String ele : availabilityZones) {
            this.availabilityZones.add(ele);
        }
        return this;
    }
<p>
When multiple Availability Zones are specified, Amazon EMR evaluates them and launches instances in the optimal
Availability Zone. <code>AvailabilityZones</code> is used for instance fleets, while
<code>AvailabilityZone</code> (singular) is used for uniform instance groups.
</p>
<note>
<p>
The instance fleet configuration is available only in Amazon EMR releases 4.8.0 and later, excluding 5.0.x
versions.
</p>
</note>
<p>
<b>NOTE:</b> This method appends the values to the existing list (if any). Use
{@link #setAvailabilityZones(java.util.Collection)} or {@link #withAvailabilityZones(java.util.Collection)} if
you want to override the existing values.
</p>

@param availabilityZones
       When multiple Availability Zones are specified, Amazon EMR evaluates them and launches instances in the
       optimal Availability Zone. <code>AvailabilityZones</code> is used for instance fleets, while
       <code>AvailabilityZone</code> (singular) is used for uniform instance groups.</p> <note>
       <p>
       The instance fleet configuration is available only in Amazon EMR releases 4.8.0 and later, excluding 5.0.x
       versions.
       </p>
@return Returns a reference to this object so that method calls can be chained together.
aws-java-sdk-emr/src/main/java/com/amazonaws/services/elasticmapreduce/model/PlacementType.java