code: public static <T> T coalesce(T... values) {
          return Stream.of(values).filter(Objects::nonNull).findFirst().orElse(null);
      }
docs: Returns the first non-null value from the given values (or null if all values are null)
  
  @param values An array of values
  @param <T>    The type of the value
  @return The first object in the list that is not null (or null, if all are null)