connectionUtils/src/main/java/com/ge/research/semtk/resultSet/Table.java
public String hashMD5() throws Exception {
		// get csv and split into rows
		String [] rows = this.toCSVString().split("\n");
		String header = rows[0];
		
		// sort non-header rows
		List<String> r = Arrays.asList(Arrays.copyOfRange(rows, 1, rows.length));
		Collections.sort(r);
		
		// build input and run hash
		String hashInput = header + "\n" + String.join("\n", r);
		return Utility.hashMD5(hashInput);
	}
/**
	 * hash table to unique MD5 string
	 * @return
	 * @throws Exception
	 */
hash table to unique MD5 string
@return
@throws Exception
hash table to unique MD5 string @return @throws Exception
public String hashMD5() throws Exception {
		String [] rows = this.toCSVString().split("\n");
		String header = rows[0];
		List<String> r = Arrays.asList(Arrays.copyOfRange(rows, 1, rows.length));
		Collections.sort(r);
		String hashInput = header + "\n" + String.join("\n", r);
		return Utility.hashMD5(hashInput);
	}
public String hashMD5 ( ) throws Exception { String [ ] rows = this . toCSVString ( ) . split ( "\n" ) ; String header = rows [ 0 ] ; List < String > r = Arrays . asList ( Arrays . copyOfRange ( rows , 1 , rows . length ) ) ; Collections . sort ( r ) ; String hashInput = header + "\n" + String . join ( "\n" , r ) ; return Utility . hashMD5 ( hashInput ) ; }
hash table to unique MD5 string
 @return
 @throws Exception
hash table to unique MD5 string @return @throws Exception
// get csv and split into rows // sort non-header rows // build input and run hash