I was just looking at Guava's ImmutableList
and I noticed that the of()
method was overloaded 12 times.
It looks to me that all they needed was:
static <E> ImmutableList<E> of();
static <E> ImmutableList<E> of(E element); // not even necessary
static <E> ImmutableList<E> of(E... elements);
What's the reason for having so many similar variations?