code: public NotificationSpecification withEventTypes(EventType... eventTypes) {
          java.util.ArrayList<String> eventTypesCopy = new java.util.ArrayList<String>(eventTypes.length);
          for (EventType value : eventTypes) {
              eventTypesCopy.add(value.toString());
          }
          if (getEventTypes() == null) {
              setEventTypes(eventTypesCopy);
          } else {
              getEventTypes().addAll(eventTypesCopy);
          }
          return this;
      }
docs: <p>
  The list of events that should cause notifications to be sent. Valid Values: AssignmentAccepted |
  AssignmentAbandoned | AssignmentReturned | AssignmentSubmitted | AssignmentRejected | AssignmentApproved |
  HITCreated | HITExtended | HITDisposed | HITReviewable | HITExpired | Ping. The Ping event is only valid for the
  SendTestEventNotification operation.
  </p>
  
  @param eventTypes
  The list of events that should cause notifications to be sent. Valid Values: AssignmentAccepted |
  AssignmentAbandoned | AssignmentReturned | AssignmentSubmitted | AssignmentRejected | AssignmentApproved |
  HITCreated | HITExtended | HITDisposed | HITReviewable | HITExpired | Ping. The Ping event is only valid
  for the SendTestEventNotification operation.
  @return Returns a reference to this object so that method calls can be chained together.
  @see EventType