public static <E> ImmutableNavigableSet<E> of(final NavigableSet<? extends E> navigableSet) {
        if (navigableSet == null) {
            return empty();
        } else if (navigableSet instanceof ImmutableNavigableSet) {
            return (ImmutableNavigableSet<E>) navigableSet;
        }

        return new ImmutableNavigableSet<>(navigableSet);
    }
public static < E > ImmutableNavigableSet < E > of ( final NavigableSet < ? extends E > navigableSet ) { if ( navigableSet == null ) { return empty ( ) ; } else if ( navigableSet instanceof ImmutableNavigableSet ) { return ( ImmutableNavigableSet < E > ) navigableSet ; } return new ImmutableNavigableSet < > ( navigableSet ) ; }
@param navigableSet the elements in this <code>Set</code> are shared by the returned ImmutableNavigableSet.
@return