code: @Beta
      public void putCustomEventMapping(final String eventType, final Type eventDataType) {
          if (eventType == null || eventType.isEmpty()) {
              throw new IllegalArgumentException("eventType parameter is required and cannot be null or empty");
          }
          if (eventDataType == null) {
              throw new IllegalArgumentException("eventDataType parameter is required and cannot be null");
          }
          this.eventTypeToEventDataMapping.put(canonicalizeEventType(eventType), eventDataType);
      }
docs: Add a custom event mapping. If a mapping with same eventType exists then the old eventDataType is replaced by
  the specified eventDataType.
  
  @param eventType the event type name.
  @param eventDataType type of the Java model that the event type name mapped to.