static void populateMap( List<String> taxaNames, HashMap<String, Holder> map, BufferedReader reader )
		throws Exception
	{
		for( String s= reader.readLine(); s != null && s.trim().length() > 0; s= reader.readLine())
		{
			TabReader sToken = new TabReader(s);
			sToken.nextToken(); sToken.nextToken();
			String sample = sToken.nextToken().replaceAll("\"", "");
			System.out.println(sample);
			
			String caseControlString = sToken.nextToken().trim().replaceAll("\"", "");
			
			for( int x=0; x < taxaNames.size(); x++)
			{
				System.out.println("\t"+ taxaNames.get(x));
				HashMap<String, Double> innerMap = null;
				String taxa = taxaNames.get(x);
				Holder h = map.get(taxa);
				
				if( caseControlString.equals("case"))
				{
					innerMap = h.caseMap;
				}
				else if( caseControlString.equals("control"))
				{
					innerMap = h.controlMap;
				}
				else throw new Exception("NO " + caseControlString );
				
				if( innerMap.containsKey(sample))
					throw new Exception("duplicate sample  " + sample);
				
				String aVal = sToken.nextToken().trim().replaceAll("\"", "");
				
				if( aVal.length() > 0 )
					innerMap.put(sample, Double.parseDouble(aVal) );
			}
		}
	}