code: protected <T> Optional<T> getSource(Event event, Class<T> type) {
          return getValue(event, event::getSource, type);
      }
docs: Gets the source.
  
  @param event the event
  @param type the cls
  
  @param <T> the generic type
  
  @return the source