code: @Override
  	public boolean execute(final ProcessInstance processInstance) {
  		getBundleSelector().selectBundle(processInstance);
  		List<Lock> locks = ContextUtils.getLocks(processInstance,getLockFactory(),"nz.co.senanque.workflow.Executor.execute(ProcessInstance)");
  		LockTemplate lockTemplate = new LockTemplate(locks, new LockAction() {
  			
  			public void doAction() {
  				log.debug("executing {}",processInstance.getId());
  				getWorkflowManager().execute(processInstance.getId());
  			}});
  		return lockTemplate.doAction();
  	}
docs: /* (non-Javadoc)
  @see nz.co.senanque.workflow.Executor#execute(nz.co.senanque.workflow.instances.ProcessInstance)