IdentityIQ version 7.0 introduces a new workflow concept called a Step Replicator. A Step Replicator allows a list of objects to be processed through a workflow subprocess independently and concurrently - in other words, in parallel. It was added to IdentityIQ's workflow engine to support splitting a provisioning plan into its component parts so they could be approved and provisioned independently, allowing quickly approved items to be provisioned immediately while other requested roles or entitlements in the same Lifecycle Manager request (such as privileged access or access to sensitive data) waited in a longer approval process. However, the possible uses of this construct are not limited to just that.
A Step Replicator can be used any time parallel workflow processing on multiple objects is required. Example could include, but are not limited to:
Step replication requires two separate workflows:
When a replicator is used, the subprocess is automatically invoked separately but simultaneously for each object in the list. The master workflow from which the subprocess instances are launched will not proceed to its next step until all subprocess instances are complete.
The Business Process Editor supports configuring a Step Replicator. When the step Action is Subprocess, the Step Replicator option becomes available. To use it, select Enable Replicator. Then specify the List workflow variable as the Items value and specify the variable name to pass to the subprocess as the Variable.

In this example, the workflow variable splitPlans contains a list of ProvisioningPlan objects, and each of those provisioning plans will be passed to the Approve and Provision Subprocess in the argument called plan.
Note: This example can be seen in context in the LCM Provisioning workflow in IdentityIQ 7.0.
In the XML serialization of a workflow, a step with a Step Replicator looks like this:
<Step name="Approve and Provision Split" >
<Replicator arg="plan" items="splitPlans"/>
<Return name="project" to="splitProjects"/>
<WorkflowRef>
<Reference class="sailpoint.object.Workflow" name="Approve and Provision Subprocess"/>
</WorkflowRef>
<Transition to="Assimilate Splits"/>
</Step>
The Replicator element specifies which argument (plan) to populate with the individual items from the list specified in its items attribute (splitPlans).
The Arg value in the Replicator element is dynamically added to the arguments list for the subprocess call, populated with one item from the items list for each execution of the subprocess.
The Return variables from the subprocess are added to a List variable (specified with the "to" attribute) in the parent workflow when the subprocess finishes (e.g. the project from the subprocess is added to the splitProjects list in the parent workflow).
Workflows written directly in XML (rather than through the Business Process Editor) can, of course, take advantage of the Step Replicator functionality by including this <Replicator> element as shown.