code: @Nonnull
    public static <T> T checkNotNull(@Nullable T obj, @Nullable String message) {
      if (obj == null) {
        throw new NullPointerException(message == null || message.isEmpty() ? NPE_DEFAULT_MSG : message);
      }
      return obj;
    }
docs: Throws a NullPointerException with the specified message if the specified object is {@code null}, otherwise
  returns it.
  <p>
  A default message will be used if the specified message is {@code null} or empty.
  </p>
  
  @param obj     an object of any type or {@code null}
  @param message a {@link String} or {@code null}
  @param <T>     any type
  
  @return the argument