connectionUtils/src/main/java/com/ge/research/semtk/resultSet/Table.java
public void uniquify(String [] colNames) throws Exception {
		
		// get key colum indices, checking for errors
		int [] keyCols = new int[colNames.length];
		for (int i=0; i < colNames.length; i++) {
			keyCols[i] = this.getColumnIndexOrError(colNames[i]);
		}
		
		// use rowHash to add only unique rows to newRows
		ArrayList<ArrayList<String>> newRows = new ArrayList<ArrayList<String>>();   
		HashSet<String> rowHash = new HashSet<String>();
		for (ArrayList<String> row : this.rows) {
			String hashVal = "";
			for (int i=0; i < keyCols.length; i++) {
				hashVal += row.get(keyCols[i]) + "|";
			}
			if (! rowHash.contains(hashVal)) {
				newRows.add(row);
				rowHash.add(hashVal);
			}
		}
		
		// update rows
		this.rows = newRows;
	}
/**
	 * Remove rows whose values in given columns duplicate an earlier row
	 * @param colNames
	 * @throws Exception - bad value in colnames
	 */
Remove rows whose values in given columns duplicate an earlier row
@param colNames
@throws Exception - bad value in colnames
Remove rows whose values in given columns duplicate an earlier row @param colNames @throws Exception - bad value in colnames
public void uniquify(String [] colNames) throws Exception {
		int [] keyCols = new int[colNames.length];
		for (int i=0; i < colNames.length; i++) {
			keyCols[i] = this.getColumnIndexOrError(colNames[i]);
		}
		ArrayList<ArrayList<String>> newRows = new ArrayList<ArrayList<String>>();   
		HashSet<String> rowHash = new HashSet<String>();
		for (ArrayList<String> row : this.rows) {
			String hashVal = "";
			for (int i=0; i < keyCols.length; i++) {
				hashVal += row.get(keyCols[i]) + "|";
			}
			if (! rowHash.contains(hashVal)) {
				newRows.add(row);
				rowHash.add(hashVal);
			}
		}
		this.rows = newRows;
	}
public void uniquify ( String [ ] colNames ) throws Exception { int [ ] keyCols = new int [ colNames . length ] ; for ( int i = 0 ; i < colNames . length ; i ++ ) { keyCols [ i ] = this . getColumnIndexOrError ( colNames [ i ] ) ; } ArrayList < ArrayList < String > > newRows = new ArrayList < ArrayList < String > > ( ) ; HashSet < String > rowHash = new HashSet < String > ( ) ; for ( ArrayList < String > row : this . rows ) { String hashVal = "" ; for ( int i = 0 ; i < keyCols . length ; i ++ ) { hashVal += row . get ( keyCols [ i ] ) + "|" ; } if ( ! rowHash . contains ( hashVal ) ) { newRows . add ( row ) ; rowHash . add ( hashVal ) ; } } this . rows = newRows ; }
Remove rows whose values in given columns duplicate an earlier row
 @param colNames
 @throws Exception - bad value in colnames
Remove rows whose values in given columns duplicate an earlier row @param colNames @throws Exception - bad value in colnames
// get key colum indices, checking for errors // use rowHash to add only unique rows to newRows // update rows