public List<CensusTract> parsePrecincts(int stateCode, List<CensusTract> tracts)
    {
        String precinctDataPath = String.format(precinctPathFormat, stateCode);

        PoliticalParser precinctParser = new PoliticalParser();
        List<VotingPrecinct> precincts = precinctParser.parse(precinctDataPath);

        GeoID tractID;
        boolean found;
        int tractCounter;
        for (int i = 0; i < precincts.size(); i++)
        {
            tractID = precincts.get(i).getTractID();
            tractCounter = 0;
            found = false;
            while (found == false)
            {
                if (tracts.get(tractCounter).getGeoId().getCountyCode() == tractID.getCountyCode()
                        && tracts.get(tractCounter).getGeoId().getStateCode() == tractID.getStateCode()
                        && tracts.get(tractCounter).getGeoId().getTractNumber() == tractID.getTractNumber())
                {
                    tracts.get(tractCounter).addPrecinct(precincts.get(i));
                    found = true;
                }
                tractCounter++;
            }
        }
        return tracts;
    }