String[] columns = Arrays.copyOf(assayTable[0], assayTable[0].length, String[].class);
int index = 0;
ProcessNode lastProcess = null;
NodeWithComments lastMaterialOrData = null;
NodeWithComments lastSample = null;
<BUG>AssayNode lastAssayNode = null;
ISAFactorValue lastFactorValue = null;</BUG>
for (String column : columns) {
if (column.matches(Date.REGEXP)) {
Date date = new Date(index, column);

String[] columns = Arrays.copyOf(assayTable[0], assayTable[0].length, String[].class);
int index = 0;
ProcessNode lastProcess = null;
NodeWithComments lastMaterialOrData = null;
NodeWithComments lastSample = null;
List<ProtocolExecutionNode> protocolExecutionNodes = new ArrayList<ProtocolExecutionNode>();
ISAFactorValue lastFactorValue = null;
for (String column : columns) {
if (column.matches(Date.REGEXP)) {
Date date = new Date(index, column);
