Эквивалентный метод перегрузки, зачем это нужно?

Я просмотрел код JAVA, созданный Google, и нашел набор ImmutableSet:http://google-collections.googlecode.com/svn/trunk/javadoc/com/google/common/collect/ImmutableSet.html

Они реализовали метод of () несколькими другими способами:

public static  ImmutableSet of(E e1, E e2);
public static  ImmutableSet of(E e1, E e2, E e3);
public static  ImmutableSet of(E e1, E e2, E e3, E e4);
public static  ImmutableSet of(E e1, E e2, E e3, E e4, E e5);
public static  ImmutableSet of(E... elements);

Я проверил реализацию, которая здесь:https://code.google.com/p/google-collections/source/browse/trunk/src/com/google/common/collect/ImmutableSet.java

Там's метод create со следующей подписью:

private static  ImmutableSet create(E... elements)

который оборачивает

private static  ImmutableSet create(Iterable iterable, int count);

метод. Публичные методы просто передают параметры подписанному методу create (E ... elements), который, наконец, вызывает другой метод create.

Я предполагаю, что публичные методы с фиксированным количеством параметров не нужны, поскольку у нас есть метод of (E ... elements).

Мой вопрос в том, почему они так поступили? Спектакль? Или этообразец?

Благодарю.

Ответы на вопрос(3)

Ваш ответ на вопрос