code: public Execution runSpecification(SystemUnderTest systemUnderTest, Specification specification, boolean implemeted, String locale) throws GreenPepperServerException
      {
  		specification = getOrCreateSpecification(systemUnderTest.getName(), specification.getRepository().getUid(),
  												 specification.getName());
  		systemUnderTest = systemUnderTestDao.getByName(systemUnderTest.getProject().getName(), systemUnderTest.getName());
  		if (systemUnderTest == null)
  		{
  			throw new GreenPepperServerException(GreenPepperServerErrorKey.SUT_NOT_FOUND, "SystemUnderTest not found");
  		}
  
  		Execution exe = systemUnderTest.execute(specification, implemeted, null, locale);
  
  		if (exe.wasRunned())
  		{
  			if (exe.wasRemotelyExecuted())
  			{
  				exe.setSpecification(getOrCreateSpecification(systemUnderTest.getName(), specification.getRepository().getUid(), specification.getName()));
  				exe.setSystemUnderTest(systemUnderTestDao.getByName(systemUnderTest.getProject().getName(), systemUnderTest.getName()));
  			}
  
  			specification.addExecution(exe);
  			sessionService.getSession().save(exe);
  		}
  
  		return exe;
  	}
docs: {@inheritDoc}