code: public RequestLaunchTemplateData withBlockDeviceMappings(LaunchTemplateBlockDeviceMappingRequest... blockDeviceMappings) {
          if (this.blockDeviceMappings == null) {
              setBlockDeviceMappings(new com.amazonaws.internal.SdkInternalList<LaunchTemplateBlockDeviceMappingRequest>(blockDeviceMappings.length));
          }
          for (LaunchTemplateBlockDeviceMappingRequest ele : blockDeviceMappings) {
              this.blockDeviceMappings.add(ele);
          }
          return this;
      }
docs: <p>
  The block device mapping.
  </p>
  <important>
  <p>
  Supplying both a snapshot ID and an encryption value as arguments for block-device mapping results in an error.
  This is because only blank volumes can be encrypted on start, and these are not created from a snapshot. If a
  snapshot is the basis for the volume, it contains data by definition and its encryption status cannot be changed
  using this action.
  </p>
  </important>
  <p>
  <b>NOTE:</b> This method appends the values to the existing list (if any). Use
  {@link #setBlockDeviceMappings(java.util.Collection)} or {@link #withBlockDeviceMappings(java.util.Collection)}
  if you want to override the existing values.
  </p>
  
  @param blockDeviceMappings
  The block device mapping.</p> <important>
  <p>
  Supplying both a snapshot ID and an encryption value as arguments for block-device mapping results in an
  error. This is because only blank volumes can be encrypted on start, and these are not created from a
  snapshot. If a snapshot is the basis for the volume, it contains data by definition and its encryption
  status cannot be changed using this action.
  </p>
  @return Returns a reference to this object so that method calls can be chained together.