/**
* Adds a procedure to the execution queue.
* If AutoSave is enabled, the action will be commited.
*
* @param Fluent\ProcedureBuilder $ProcedureBuilder The procedure to execute
* @return void
*/
public function ExecuteProcedure(Object\IProcedure $Procedure)
{
if ($Procedure->GetEntityType() !== $this->EntityType) {
throw new Object\TypeMismatchException('The supplied procedure is of type %s, expecting: %s', $Procedure->GetEntityType(), $this->EntityType);
}
$this->ExecutionQueue[] = $Procedure;
$this->AutoSave();
}