docs: @SuppressWarnings("unchecked")
  	public static <T> T firstNonNull(T... array) {
  		if (isNotEmpty(array)) {
  			for (final T val : array) {
  				if (null != val) {
  					return val;
  				}
  			}
  		}
  		return null;
  	}