code: 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;
  	}
docs: Get a list of GeneNames from an input stream.
  
  @param inStream
  @return list of geneNames
  @throws IOException