[   Operation.Claim 
        : [ new OperationCommand().{ 
                status = [ Status.Ready ],
                allowed = [ Allowed.PotentialOwner, Allowed.BusinessAdministrator ],    
                setNewOwnerToUser = true,           
                newStatus = Status.Reserved
            } ],
    Operation.Start 
        : [ new OperationCommand().{ 
                status = [ Status.Ready ],
                allowed = [ Allowed.PotentialOwner, Allowed.BusinessAdministrator ],  
                setNewOwnerToUser = true,              
                newStatus = Status.InProgress
            },
            new OperationCommand().{ 
                status = [ Status.Reserved ],
                allowed = [ Allowed.Owner ],          
                newStatus = Status.InProgress
            } ],                  
     Operation.Stop 
        : [ new OperationCommand().{ 
                status = [ Status.InProgress ],
                allowed = [ Allowed.Owner, Allowed.BusinessAdministrator ],               
                newStatus = Status.Reserved
            } ],                 
    Operation.Release 
        : [ new OperationCommand().{ 
                status = [ Status.Reserved, Status.InProgress ],
                allowed = [Allowed.Owner, Allowed.BusinessAdministrator ],  
                setNewOwnerToNull = true,            
                newStatus = Status.Ready
            } ],    
    Operation.Suspend 
        : [ new OperationCommand().{ 
                status = [ Status.Ready ],
                allowed = [ Allowed.PotentialOwner, Allowed.BusinessAdministrator  ],              
                newStatus = Status.Suspended
            },
            new OperationCommand().{ 
                status = [ Status.Reserved, Status.InProgress ],
                allowed = [Allowed.Owner, Allowed.BusinessAdministrator ],          
                newStatus = Status.Suspended
            } ],   
    Operation.Resume 
        : [ new OperationCommand().{ 
                status = [ Status.Suspended ],
                allowed = [ Allowed.PotentialOwner, Allowed.BusinessAdministrator  ],              
                setToPreviousStatus = true
            },
            new OperationCommand().{ 
                status = [ Status.Suspended ],
                allowed = [ Allowed.Owner, Allowed.BusinessAdministrator ],          
                setToPreviousStatus = true
            } ],
    Operation.Skip             
        : [ new OperationCommand().{ 
                status = [ Status.Created ],
                allowed = [ Allowed.Initiator, Allowed.BusinessAdministrator  ],              
                newStatus = Status.Obsolete,
                skipable = true
            },
            new OperationCommand().{ 
                status = [ Status.Ready ],
                allowed = [ Allowed.PotentialOwner, Allowed.BusinessAdministrator  ],              
                newStatus = Status.Obsolete,
                skipable = true
            },
            new OperationCommand().{ 
                status = [ Status.Reserved, Status.InProgress ],
                allowed = [ Allowed.Owner, Allowed.BusinessAdministrator ],          
                newStatus = Status.Obsolete,
                skipable = true
            } ],
    Operation.Delegate 
        : [ new OperationCommand().{ 
                status = [ Status.Ready ],
                allowed = [ Allowed.PotentialOwner, Allowed.BusinessAdministrator  ],
                addTargetUserToPotentialOwners = true,            
                newStatus = Status.Ready,
                exec = Operation.Claim
            },
            new OperationCommand().{ 
                status = [ Status.Reserved, Status.InProgress ],
                allowed = [ Allowed.Owner, Allowed.BusinessAdministrator ],
                addTargetUserToPotentialOwners = true,                         
                newStatus = Status.Ready,
                exec = Operation.Claim
            } ],
    Operation.Forward 
        : [ new OperationCommand().{ 
                status = [ Status.Ready ],
                allowed = [ Allowed.PotentialOwner, Allowed.BusinessAdministrator  ],
                addTargetUserToPotentialOwners = true,
                removeUserFromPotentialOwners = true,
                groupTargetEntityAllowed = false,
                setNewOwnerToNull = true,
                newStatus = Status.Ready
            },
            new OperationCommand().{ 
                status = [ Status.Reserved, Status.InProgress ],
                allowed = [ Allowed.Owner, Allowed.BusinessAdministrator ],
                addTargetUserToPotentialOwners = true,
                removeUserFromPotentialOwners = true,
                groupTargetEntityAllowed = false,
                setNewOwnerToNull = true,
                newStatus = Status.Ready
            }],            
    Operation.Complete 
        : [ new OperationCommand().{ 
                status = [ Status.InProgress ],
                allowed = [ Allowed.Owner, Allowed.BusinessAdministrator  ],      
                newStatus = Status.Completed
            } ],
    Operation.Fail 
        : [ new OperationCommand().{ 
                status = [ Status.InProgress ],
                    allowed = [ Allowed.Owner, Allowed.BusinessAdministrator  ],      
                newStatus = Status.Failed
            } ],
    Operation.Activate
        : [ new OperationCommand().{
                status = [ Status.Created ],
                allowed = [ Allowed.BusinessAdministrator ],
                newStatus = Status.Ready
            } ],
    Operation.Nominate
        : [ new OperationCommand().{
                status = [ Status.Created ],
                allowed = [ Allowed.BusinessAdministrator ],
                exec = Operation.Nominate
            } ],
    Operation.Exit
        : [ new OperationCommand().{
                status = [ Status.Created, Status.Ready, Status.Reserved, Status.InProgress, Status.Suspended ],
                allowed = [ Allowed.BusinessAdministrator ],
                newStatus = Status.Exited
            } ],
    Operation.Modify
        : [ new OperationCommand().{
                status = [ Status.Created, Status.Ready, Status.Reserved, Status.InProgress, Status.Suspended ],
                allowed = [ Allowed.Owner, Allowed.Initiator, Allowed.PotentialOwner, Allowed.BusinessAdministrator, Allowed.TaskStakeholders ]
            } ],
    Operation.View
        : [ new OperationCommand().{
                status = [ Status.Created, Status.Ready, Status.Reserved, Status.InProgress, Status.Suspended, 
                           Status.Completed, Status.Failed, Status.Error, Status.Exited, Status.Obsolete ],
                allowed = [ Allowed.Owner, Allowed.Initiator, Allowed.PotentialOwner, Allowed.BusinessAdministrator, Allowed.TaskStakeholders ]
            } ]
]          
  