/** * Construct a new immutable {@code Flow} instance. * @param connections The value for the {@code connections} attribute * @param scheduler The value for the {@code scheduler} attribute * @param description The value for the {@code description} attribute * @param name The value for the {@code name} attribute * @param id The value for the {@code id} attribute * @param kind The value for the {@code kind} attribute * @param tags The value for the {@code tags} attribute * @param steps The value for the {@code steps} attribute * @param metadata The value for the {@code metadata} attribute * @return An immutable Flow instance */ public static Flow of(List<Connection> connections, Optional<Scheduler> scheduler, Optional<String> description, String name, Optional<String> id, Kind kind, SortedSet<String> tags, List<Step> steps, Map<String, String> metadata) { return of((Iterable<? extends Connection>) connections, scheduler, description, name, id, kind, (Iterable<String>) tags, (Iterable<? extends Step>) steps, metadata); }