Class CascadeConnector is used to construct a new {@link Cascade} instance from a collection of {@link cascading.flow.Flow} instance.
Note order is not significant when adding passing Flow instances to the {@code connect}method. This connector will order them based on their dependencies, if any.
One Flow is dependent on another if the first sinks (produces) output that the second Flow sources (consumes) as input. A sink and source are considered equivalent if the fully qualified identifier, typically {@link Tap#getFullIdentifier(Object)}from either are {@code equals()}.
Note that checkpoint sink Taps from an upstream Flow may be the sources to downstream Flow instances.
The {@link CascadeDef} is a convenience class for dynamically defining a Cascade that can be passed to the{@link CascadeConnector#connect(CascadeDef)} method.
Use the {@link CascadeProps} fluent helper class to create global properties to pass to the CascadeConnectorconstructor.
@see CascadeDef
@see CascadeProps