code: public static Execution newInstance(Specification specification, SystemUnderTest systemUnderTest, XmlReport xmlReport)
      {
          if(xmlReport.getGlobalException() != null)
          {
              return error(specification, systemUnderTest, null, xmlReport.getGlobalException());
          }
          
          Execution execution = new Execution();
          execution.setExecutionDate(new Timestamp(System.currentTimeMillis()));
          execution.setSpecification(specification);
          execution.setSystemUnderTest(systemUnderTest);
          
          execution.setFailures( xmlReport.getFailure(0) );
          execution.setErrors( xmlReport.getError(0) );
          execution.setSuccess( xmlReport.getSuccess(0) );
          execution.setIgnored( xmlReport.getIgnored(0) );
          String results = xmlReport.getResults(0);
          if(results != null)
          {
              execution.setResults(results);
          }
  
  		if (xmlReport.getSections(0) != null)
  		{
  			StringBuilder sections = new StringBuilder();
  			int index = 0;
  
  			while (xmlReport.getSections(index) != null)
  			{
  				if (index > 0) sections.append(',');
  				sections.append(xmlReport.getSections(index));
  				index++;
  			}
  
  			execution.setSections(sections.toString());
  		}
          
          return execution;
      }
docs: <p>newInstance.</p>
  
  @param specification a {@link com.greenpepper.server.domain.Specification} object.
  @param systemUnderTest a {@link com.greenpepper.server.domain.SystemUnderTest} object.
  @param xmlReport a {@link com.greenpepper.report.XmlReport} object.
  @return a {@link com.greenpepper.server.domain.Execution} object.