code: public List<SelectObjectContentEvent> getAllEvents() throws SelectObjectContentEventException {
          List<SelectObjectContentEvent> events = new ArrayList<SelectObjectContentEvent>();
          Iterator<SelectObjectContentEvent> eventsIterator = getEventsIterator();
          while (eventsIterator.hasNext()) {
              events.add(eventsIterator.next());
          }
          return events;
      }
docs: Read all of the {@link SelectObjectContentEvent}s from this stream into memory. For large objects, lazy-loading using
  {@link #getEventsIterator()}, {@link #getRecordsInputStream()} or {@link #visitAllEvents(SelectObjectContentEventVisitor)}
  should be used instead.
  
  This will raise a runtime exception if {@link #visitAllEvents(SelectObjectContentEventVisitor)},
  {@link #getRecordsInputStream()} or {@link #getEventsIterator()} have already been used.
  
  After using this method, you still must {@link #close()} this object to release the connection to S3.