static <E> RandomSelector<E> weighted(Collection<E> elements, Weigher<? super E> weigher) {
        return RandomSelectorImpl.weighted(elements, weigher);
    }
Creates a weighted selector which picks elements using their weight,
according to the weigher function.

@param elements the elements to pick from
@param <E> the element type
@return the selector instance
helper/src/main/java/me/lucko/helper/random/RandomSelector.java