Extracts all agents contained in the incoming agent (batch) and outputs them through the output port. The original agent (batch) is discarded. The operation takes zero time.

Please note that all contents of the incoming agent is extracted regardless of the way it was created: using Batch, Pickup, or programmatically by calling addEntityToContents().

A permanent batch created by Batch does not contain any agents, so it will simply be consumed by this object without any output.


Batch type [dynamic]
The type of the batch agents entering this block.
Default value: Agent
Referred as: TBatch
Element type [dynamic]
The type of the agents that are extracted from the incoming agent and exit this block.
Default value: Agent
Referred as: T
Forced pushing
If the option is selected (true), when agents finish processing at the block, they are instantly pushed further regardless the state of the succeeding block.
If the option is not selected, agents are not pushed, but pulled: only when the succeeding block is ready to accept one more agent, it requests the agent from this block, and only then this agent passes further.
Syntax: boolean pushProtocol
Default value: false
On enter [code]
Code executed when the batch agent enters the object.
Local variable: TBatch batch - the batch
On exit [code]
Code executed for each agent that is extracted from the batch and exits the object. The batch is still accessible here as batch.
Local variables: T agent - the current agent extracted from the batch agent.
                          TBatch batch - the batch agent


The input port.
The output port.