Update for performance

update data processing
added additional logging
modified target java
diff --git a/cda/plugins/org.eclipse.mdht.cda.xml.ui/.classpath b/cda/plugins/org.eclipse.mdht.cda.xml.ui/.classpath
index a45ea04..f3e11b6 100644
--- a/cda/plugins/org.eclipse.mdht.cda.xml.ui/.classpath
+++ b/cda/plugins/org.eclipse.mdht.cda.xml.ui/.classpath
@@ -7,8 +7,8 @@
 	<classpathentry exported="true" kind="lib" path="poi-3.16/poi-3.16.jar"/>
 	<classpathentry exported="true" kind="lib" path="poi-3.16/poi-ooxml-3.16.jar"/>
 	<classpathentry exported="true" kind="lib" path="poi-3.16/poi-ooxml-schemas-3.16.jar"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7"/>
 	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
 	<classpathentry kind="src" path="src"/>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
 	<classpathentry kind="output" path="bin"/>
 </classpath>
diff --git a/cda/plugins/org.eclipse.mdht.cda.xml.ui/.settings/org.eclipse.jdt.core.prefs b/cda/plugins/org.eclipse.mdht.cda.xml.ui/.settings/org.eclipse.jdt.core.prefs
index d104106..ba326a4 100644
--- a/cda/plugins/org.eclipse.mdht.cda.xml.ui/.settings/org.eclipse.jdt.core.prefs
+++ b/cda/plugins/org.eclipse.mdht.cda.xml.ui/.settings/org.eclipse.jdt.core.prefs
@@ -1,4 +1,3 @@
-#Mon May 16 10:24:25 EDT 2011

 eclipse.preferences.version=1

 org.eclipse.jdt.core.codeComplete.argumentPrefixes=

 org.eclipse.jdt.core.codeComplete.argumentSuffixes=

@@ -11,9 +10,10 @@
 org.eclipse.jdt.core.codeComplete.staticFinalFieldPrefixes=

 org.eclipse.jdt.core.codeComplete.staticFinalFieldSuffixes=

 org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled

-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7

+org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate

+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8

 org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve

-org.eclipse.jdt.core.compiler.compliance=1.7

+org.eclipse.jdt.core.compiler.compliance=1.8

 org.eclipse.jdt.core.compiler.debug.lineNumber=generate

 org.eclipse.jdt.core.compiler.debug.localVariable=generate

 org.eclipse.jdt.core.compiler.debug.sourceFile=generate

@@ -84,7 +84,7 @@
 org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning

 org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning

 org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning

-org.eclipse.jdt.core.compiler.source=1.7

+org.eclipse.jdt.core.compiler.source=1.8

 org.eclipse.jdt.core.formatter.align_type_members_on_columns=false

 org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=36

 org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0

diff --git a/cda/plugins/org.eclipse.mdht.cda.xml.ui/src/org/eclipse/mdht/cda/xml/ui/handlers/CDAValueUtil.java b/cda/plugins/org.eclipse.mdht.cda.xml.ui/src/org/eclipse/mdht/cda/xml/ui/handlers/CDAValueUtil.java
index 6b3857c..951d96e 100644
--- a/cda/plugins/org.eclipse.mdht.cda.xml.ui/src/org/eclipse/mdht/cda/xml/ui/handlers/CDAValueUtil.java
+++ b/cda/plugins/org.eclipse.mdht.cda.xml.ui/src/org/eclipse/mdht/cda/xml/ui/handlers/CDAValueUtil.java
@@ -207,8 +207,18 @@
 
 	static Date getDate(SimpleDateFormat format, String value) {
 		try {
-			return format.parse(value);
+			if (value != null) {
+				// Check to see if the lengths are similar to limit exceptions
+				int l = value.length();
+				if (value.contains("-") || value.contains("+")) {
+					l = l - 4;
+				}
+				if (l == format.toPattern().length()) {
+					return format.parse(value);
+				}
+			}
 		} catch (Exception ex) {
+			System.out.println("boom" + value + " " + format.toPattern());
 		}
 		return null;
 	}
diff --git a/cda/plugins/org.eclipse.mdht.cda.xml.ui/src/org/eclipse/mdht/cda/xml/ui/handlers/GenerateCDADataHandler.java b/cda/plugins/org.eclipse.mdht.cda.xml.ui/src/org/eclipse/mdht/cda/xml/ui/handlers/GenerateCDADataHandler.java
index 3ced35a..9e87958 100644
--- a/cda/plugins/org.eclipse.mdht.cda.xml.ui/src/org/eclipse/mdht/cda/xml/ui/handlers/GenerateCDADataHandler.java
+++ b/cda/plugins/org.eclipse.mdht.cda.xml.ui/src/org/eclipse/mdht/cda/xml/ui/handlers/GenerateCDADataHandler.java
@@ -475,7 +475,9 @@
 		return false;
 	}
 
-	static String getMemoryUssage() {
+	long previousHeap = 0;
+
+	String getMemoryUssage() {
 		// Map<String, String> memoryMap = new HashMap<>();
 		StringBuffer sb = new StringBuffer();
 
@@ -490,28 +492,32 @@
 		MemoryMXBean memBean = ManagementFactory.getMemoryMXBean();
 		MemoryUsage memHeapUsage = memBean.getHeapMemoryUsage();
 		MemoryUsage nonHeapUsage = memBean.getNonHeapMemoryUsage();
-		sb.append("heapInit");
+		sb.append("heapInit = ");
 		sb.append(String.valueOf(memHeapUsage.getInit()));
 		sb.append(System.lineSeparator());
-		sb.append("heapMax");
+		sb.append("heapMax = ");
 		sb.append(String.valueOf(memHeapUsage.getMax()));
 		sb.append(System.lineSeparator());
-		sb.append("heapCommit");
+		sb.append("heapCommit = ");
 		sb.append(String.valueOf(memHeapUsage.getCommitted()));
 		sb.append(System.lineSeparator());
-		sb.append("heapUsed");
+		sb.append("heapUsed = ");
 		sb.append(String.valueOf(memHeapUsage.getUsed()));
 		sb.append(System.lineSeparator());
-		sb.append("nonHeapInit");
+		sb.append("heapDelta = ");
+		sb.append(String.valueOf(memHeapUsage.getUsed() - previousHeap));
+		previousHeap = memHeapUsage.getUsed();
+		sb.append(System.lineSeparator());
+		sb.append("nonHeapInit = ");
 		sb.append(String.valueOf(nonHeapUsage.getInit()));
 		sb.append(System.lineSeparator());
-		sb.append("nonHeapMax");
+		sb.append("nonHeapMax = ");
 		sb.append(String.valueOf(nonHeapUsage.getMax()));
 		sb.append(System.lineSeparator());
-		sb.append("nonHeapCommit");
+		sb.append("nonHeapCommit = ");
 		sb.append(String.valueOf(nonHeapUsage.getCommitted()));
 		sb.append(System.lineSeparator());
-		sb.append("nonHeapUsed");
+		sb.append("nonHeapUsed ");
 		sb.append(String.valueOf(nonHeapUsage.getUsed()));
 		sb.append(System.lineSeparator());
 
@@ -687,9 +693,8 @@
 				String sheetIndex = getSheet(
 					section.getClinicalDocument().eClass(),
 					String.valueOf(
-						section.eClass().getClassifierID() + "." +
-								String.valueOf(
-									ConsolPackage.eINSTANCE.getPlanOfCareActivitySubstanceAdministration().getClassifierID())),
+						section.eClass().getClassifierID() + "." + String.valueOf(
+							ConsolPackage.eINSTANCE.getPlanOfCareActivitySubstanceAdministration().getClassifierID())),
 					sheetName(ConsolPackage.eINSTANCE.getPlanOfCareActivitySubstanceAdministration()), splitOption);
 				Sheet sheet = wb.getSheet(sheetIndex);
 				if (sheet.getPhysicalNumberOfRows() == 0) {
@@ -1024,7 +1029,9 @@
 								}
 							}
 
+							console.println("Start Section " + section.eClass().getName());
 							pss.doSwitch(section);
+							console.println("End Section " + stopwatch.elapsed(TimeUnit.MILLISECONDS));
 
 							// String sheetIndex = getSheet(
 							// clinicalDocument.eClass(), String.valueOf(theSectionEClass.getClassifierID()),