private static void copyOrigins(OriginsSheet originsSheet, SPDXDocument analysis)
     throws InvalidSPDXAnalysisException {
   Date createdDate = originsSheet.getCreated();
   String created = format.format(createdDate);
   String[] createdBys = originsSheet.getCreatedBy();
   String creatorComment = originsSheet.getAuthorComments();
   SPDXCreatorInformation creator =
       new SPDXCreatorInformation(createdBys, created, creatorComment);
   String specVersion = originsSheet.getSPDXVersion();
   analysis.setSpdxVersion(specVersion);
   String dataLicenseId = originsSheet.getDataLicense();
   if (dataLicenseId == null
       || dataLicenseId.isEmpty()
       || dataLicenseId.equals(RdfToSpreadsheet.NOT_SUPPORTED_STRING)) {
     if (specVersion.equals(SPDXDocument.ONE_DOT_ZERO_SPDX_VERSION)) {
       dataLicenseId = SpdxRdfConstants.SPDX_DATA_LICENSE_ID_VERSION_1_0;
     } else {
       dataLicenseId = SpdxRdfConstants.SPDX_DATA_LICENSE_ID;
     }
   }
   SPDXStandardLicense dataLicense = null;
   try {
     dataLicense =
         (SPDXStandardLicense) SPDXLicenseInfoFactory.parseSPDXLicenseString(dataLicenseId);
   } catch (Exception ex) {
     try {
       dataLicense =
           (SPDXStandardLicense)
               SPDXLicenseInfoFactory.parseSPDXLicenseString(
                   SpdxRdfConstants.SPDX_DATA_LICENSE_ID);
     } catch (InvalidLicenseStringException e) {
       throw (new InvalidSPDXAnalysisException("Unable to get document license"));
     }
   }
   analysis.setDataLicense(dataLicense);
   analysis.setCreationInfo(creator);
 }
 /* (non-Javadoc)
  * @see org.spdx.rdfparser.AbstractSheet#verify()
  */
 @Override
 public String verify() {
   try {
     if (sheet == null) {
       return "Worksheet for SPDX Package Info does not exist";
     }
     if (!OriginsSheet.verifyVersion(version)) {
       return "Unsupported version " + version;
     }
     Row firstRow = sheet.getRow(firstRowNum);
     for (int i = 0; i < NUM_COLS; i++) {
       Cell cell = firstRow.getCell(i + firstCellNum);
       if (cell == null
           || cell.getStringCellValue() == null
           || !cell.getStringCellValue().equals(HEADER_TITLES[i])) {
         return "Column " + HEADER_TITLES[i] + " missing for SPDX Package Info worksheet";
       }
     }
     // validate rows
     boolean done = false;
     int rowNum = firstRowNum + 1;
     while (!done) {
       Row row = sheet.getRow(rowNum);
       if (row == null || row.getCell(firstCellNum) == null) {
         done = true;
       } else {
         String error = validateRow(row);
         if (error != null) {
           return error;
         }
         rowNum++;
       }
     }
     return null;
   } catch (Exception ex) {
     return "Error in verifying SPDX Package Info work sheet: " + ex.getMessage();
   }
 }