/** * Construct a new immutable {@code StepDescriptor} instance. * @param kind The value for the {@code kind} attribute * @param entrypoint The value for the {@code entrypoint} attribute * @param resource The value for the {@code resource} attribute * @param inputDataShape The value for the {@code inputDataShape} attribute * @param outputDataShape The value for the {@code outputDataShape} attribute * @param propertyDefinitionSteps The value for the {@code propertyDefinitionSteps} attribute * @return An immutable StepDescriptor instance */ public static StepDescriptor of(StepAction.Kind kind, String entrypoint, String resource, Optional<DataShape> inputDataShape, Optional<DataShape> outputDataShape, List<ActionDescriptor.ActionDescriptorStep> propertyDefinitionSteps) { return of(kind, entrypoint, resource, inputDataShape, outputDataShape, (Iterable<? extends ActionDescriptor.ActionDescriptorStep>) propertyDefinitionSteps); }