code: public Reference runReference(SystemUnderTest sut, Specification specification, Requirement requirement, String locale)
  			throws GreenPepperServerException
  	{
  		if (sut.getProject() == null)
  		{
  			throw new IllegalArgumentException("Missing Project in SystemUnderTest");
  		}
  
  		if (specification.getRepository() == null)
  		{
  			throw new IllegalArgumentException("Missing Repository in Specification");
  		}
  
  		if (requirement.getRepository() == null)
  		{
  			throw new IllegalArgumentException("Missing Repository in Requirement");
  		}
  
  		Reference reference = Reference.newInstance(requirement, specification, sut);
  
  		return runReference(reference, locale);
  	}
docs: <p>runReference.</p>
  
  @param sut a {@link com.greenpepper.server.domain.SystemUnderTest} object.
  @param specification a {@link com.greenpepper.server.domain.Specification} object.
  @param requirement a {@link com.greenpepper.server.domain.Requirement} object.
  @param locale a {@link java.lang.String} object.
  @return a {@link com.greenpepper.server.domain.Reference} object.
  @throws com.greenpepper.server.GreenPepperServerException if any.