diff --git a/server/src/main/java/org/elasticsearch/common/collect/Iterators.java b/server/src/main/java/org/elasticsearch/common/collect/Iterators.java index 73da3f54fd8d7..69b43303df5d9 100644 --- a/server/src/main/java/org/elasticsearch/common/collect/Iterators.java +++ b/server/src/main/java/org/elasticsearch/common/collect/Iterators.java @@ -34,22 +34,27 @@ public class Iterators { * Returns a single element iterator over the supplied value. */ public static Iterator single(T element) { - return new Iterator<>() { + return new SingleIterator<>(element); + } - private T value = Objects.requireNonNull(element); + private static final class SingleIterator implements Iterator { + private T value; - @Override - public boolean hasNext() { - return value != null; - } + SingleIterator(T element) { + value = Objects.requireNonNull(element); + } - @Override - public T next() { - final T res = value; - value = null; - return res; - } - }; + @Override + public boolean hasNext() { + return value != null; + } + + @Override + public T next() { + final T res = value; + value = null; + return res; + } } @SafeVarargs @@ -496,5 +501,4 @@ public static int hashCode(Iterator iterator, ToIntFunction } return result; } - }