Here you can find the source of firstOrNull(Iterable
public static <T> T firstOrNull(Iterable<T> iterable)
//package com.java2s; /*/*from ww w . j ava 2 s . com*/ * Copyright (c) 2002-2016 "Neo Technology," * Network Engine for Objects in Lund AB [http://neotechnology.com] * * This product is licensed to you under the Apache License, Version 2.0 (the "License"). * You may not use this product except in compliance with the License. * * This product may include a number of subcomponents with * separate copyright notices and license terms. Your use of the source * code for these subcomponents is subject to the terms and * conditions of the subcomponent's license, as noted in the LICENSE file. */ import java.util.Iterator; public class Main { public static <T> T firstOrNull(Iterable<T> iterable) { return firstOrNull(iterable.iterator()); } public static <T> T firstOrNull(Iterator<T> iterator) { return iterator.hasNext() ? iterator.next() : null; } }