public static <T> Maker<T> cycle(T first, T... rest) {
        ImmutableList<T> values = ImmutableList.<T>builder().add(first).add(rest).build();
        return new RangeValuesMaker<T>(Iterables.cycle(values).iterator());
    }
public static < T > Maker < T > cycle ( T first , T ... rest ) { ImmutableList < T > values = ImmutableList . < T > builder ( ) . add ( first ) . add ( rest ) . build ( ) ; return new RangeValuesMaker < T > ( Iterables . cycle ( values ) . iterator ( ) ) ; }
Factory method. Given a list of values and the produced maker will cycle them infinitely.

@param first
first value
@param rest
rest of the values
@param <T>
value type
@return a RangeValuesMaker