public void buildcountytable(List<Tuple> tups, StateProfile result) {
		Iterator<Tuple> tupiter = tups.iterator();
		while (tupiter.hasNext())
		{
			Tuple t = tupiter.next();
			outputService.getCountyProfile(result.getStateInfo().getID(), t.getId(), new AsyncCallback<CountyProfile>() {

				public void onFailure(Throwable caught) {
					return;
				}

				public void onSuccess(CountyProfile result) {
					if (result.getCountyInfo().getName().equals(countylistbox.getValue(countylistbox.getSelectedIndex())))
					{
						int seventy = result.getCountyInfo().get1970();
						int eighty = result.getCountyInfo().get1980();
						int ninety = result.getCountyInfo().get1990();
						int two = result.getCountyInfo().get2000();
						int twoten = result.getCountyInfo().get2010();
						DataTable data = DataTable.create();
						data.addColumn(ColumnType.STRING, "Year");
						data.addColumn(ColumnType.NUMBER, result.getCountyInfo().getName());
						data.addColumn(ColumnType.NUMBER, result.getStateInfo().getName());                                
						if (!useGrowth.isChecked())
						{
							data.addRows(5);
							data.setValue(0, 0, "1970");
							data.setValue(1, 0, "1980");
							data.setValue(2, 0, "1990");
							data.setValue(3, 0, "2000");
							data.setValue(4, 0, "2010");

							data.setValue(0,  1, seventy);
							data.setValue(1, 1, eighty);
							data.setValue(2, 1, ninety);
							data.setValue(3, 1, two);
							data.setValue(4, 1, twoten);

							data.setValue(0,  2, result.getStateInfo().get1970());
							data.setValue(1, 2, result.getStateInfo().get1980());
							data.setValue(2, 2, result.getStateInfo().get1990());
							data.setValue(3, 2, result.getStateInfo().get2000());
							data.setValue(4, 2, result.getStateInfo().get2010());
							updatechart(data);
						}
						else
						{
							data.addRows(4);
							data.setValue(0, 0, "1970");
							data.setValue(1, 0, "1980");
							data.setValue(2, 0, "1990");
							data.setValue(3, 0, "2000");

							data.setValue(0, 1, 100*((eighty / seventy)/ eighty));
							data.setValue(1, 1, 100*((ninety / eighty) / ninety));
							data.setValue(2, 1, 100*((two / ninety) / two));
							data.setValue(3, 1, 100*((twoten / two) / twoten));

							seventy = result.getStateInfo().get1970();
							eighty = result.getStateInfo().get1980();
							ninety = result.getStateInfo().get1990();
							two = result.getStateInfo().get2000();
							twoten = result.getStateInfo().get2010();

							data.setValue(0, 2, 100*((eighty / seventy)/ eighty));
							data.setValue(1, 2, 100*((ninety / eighty) / ninety));
							data.setValue(2, 2, 100*((two / ninety) / two));
							data.setValue(3, 2, 100*((twoten / two) / twoten));
							updatechart(data);
						}

					}
					Iterator<Tuple> placeiter = result.getPlaceTuples().iterator();
					placelistbox.clear();
					handlePlacelist(result);
					while (placeiter.hasNext()) {
						placelistbox.addItem(placeiter.next().getName());
					}
				}

			});
		}
	}