public static List<GeneName> getGeneNames(InputStream inStream) throws IOException{

		ArrayList<GeneName> geneNames = new ArrayList<GeneName>();
		BufferedReader reader = new BufferedReader(new InputStreamReader(inStream));

		// skip reading first line (it is the legend)
		String line = reader.readLine();

		while ((line = reader.readLine()) != null) {
			// process line...
			//System.out.println(Arrays.toString(line.split("\t")));

			GeneName  geneName = getGeneName(line);
			if ( geneName != null)
				geneNames.add(geneName);
				//System.out.println(geneName);

		}

		// since this is a large list, let's free up unused space...
		geneNames.trimToSize();
		return geneNames;
	}
public static List < GeneName > getGeneNames ( InputStream inStream ) throws IOException { ArrayList < GeneName > geneNames = new ArrayList < GeneName > ( ) ; BufferedReader reader = new BufferedReader ( new InputStreamReader ( inStream ) ) ; String line = reader . readLine ( ) ; while ( ( line = reader . readLine ( ) ) != null ) { GeneName geneName = getGeneName ( line ) ; if ( geneName != null ) geneNames . add ( geneName ) ; } geneNames . trimToSize ( ) ; return geneNames ; }
Get a list of GeneNames from an input stream.

@param inStream
@return list of geneNames
@throws IOException