private void build(String species_traits)
	{
		//Temporary Storage for Traits and Species
		HashSet<String> traits = new HashSet<String>(200);
		LinkedList<Species> species = new LinkedList<Species>();
		
		String[] lines = species_traits.split("\n");
        for(int i=0; i < lines.length; i++) 
        	{
        		Species s = new Species();
		        String[] parts = lines[i].split(",");
		        //First string is species.
		        s.setName(parts[0]);
		        //Add all the Species' Traits
		        for(int j = 1; j < parts.length; j++)
		            {
		                if(!traits.contains(parts[j]))
		                    {
		                        traits.add(parts[j]);
		                    }  
		                s.addTrait(parts[j]);
		            }
		        species.add(s);
        	}
        //Populate our Phylogeny's Species Array
        ListIterator<Species> s_iterator = species.listIterator();
        this.species = new Species[species.size()];
        int i = 0;
        while(s_iterator.hasNext())
        	{	
        		
	        	this.species[i] = s_iterator.next();
	            i++;
	        }
        //Populate our Phylogeny's Traits Array
        Iterator<String> t_iterator = traits.iterator();
        this.traits = new String[traits.size()];
        i = 0;
        while(t_iterator.hasNext())
        	{
        		this.traits[i] = t_iterator.next();
        		i++;
        	}
    }