private void checkSubnetExists(ServiceConfiguration configuration) throws Exception {
   DescribeSubnetsType describeSubnetsType =
       MessageHelper.createMessage(DescribeSubnetsType.class, info.getEffectiveUserId());
   describeSubnetsType.getFilterSet().add(Filter.filter("subnet-id", properties.getSubnetId()));
   DescribeSubnetsResponseType describeSubnetsResponseType =
       AsyncRequests.sendSync(configuration, describeSubnetsType);
   if (describeSubnetsResponseType.getSubnetSet() == null
       || describeSubnetsResponseType.getSubnetSet().getItem() == null
       || describeSubnetsResponseType.getSubnetSet().getItem().isEmpty()) {
     throw new ValidationErrorException("No such subnet with id '" + properties.getSubnetId());
   }
 }
 @Override
 public UpdateType getUpdateType(ResourceAction resourceAction, boolean stackTagsChanged) {
   UpdateType updateType =
       info.supportsTags() && stackTagsChanged ? UpdateType.NO_INTERRUPTION : UpdateType.NONE;
   AWSEC2SubnetRouteTableAssociationResourceAction otherAction =
       (AWSEC2SubnetRouteTableAssociationResourceAction) resourceAction;
   if (!Objects.equals(properties.getRouteTableId(), otherAction.properties.getRouteTableId())) {
     updateType = UpdateType.max(updateType, UpdateType.NO_INTERRUPTION);
   }
   if (!Objects.equals(properties.getSubnetId(), otherAction.properties.getSubnetId())) {
     updateType = UpdateType.max(updateType, UpdateType.NEEDS_REPLACEMENT);
   }
   return updateType;
 }
 private boolean subnetExistsForDelete(ServiceConfiguration configuration) throws Exception {
   DescribeSubnetsType describeSubnetsType =
       MessageHelper.createMessage(DescribeSubnetsType.class, info.getEffectiveUserId());
   describeSubnetsType.getFilterSet().add(Filter.filter("subnet-id", properties.getSubnetId()));
   DescribeSubnetsResponseType describeSubnetsResponseType =
       AsyncRequests.sendSync(configuration, describeSubnetsType);
   if (describeSubnetsResponseType.getSubnetSet() == null
       || describeSubnetsResponseType.getSubnetSet().getItem() == null
       || describeSubnetsResponseType.getSubnetSet().getItem().isEmpty()) {
     return false;
   }
   return true;
 }