@Override
	public String toString() {
		String output = "ID: " + mID + "   "
				+ String.format("%.7g%n", mLat[mCoordIndex]) + ", "
				+ String.format("%.7g%n", mLon[mCoordIndex]) + "   Speed: "
				+ String.format("%.4g%n", mSpeedMPH);

		if (mStopHistoryIndex >= 0 && mStopHistoryIndex < mStopHistory.size()
				&& mStopHistory.get(mStopHistoryIndex) != null) {
			output += "   Closest Stop: "
					+ mStopHistory.get(mStopHistoryIndex).getFirst().getStop()
							.get_stop_name() + " ( ";
		}
		for (Route r : mProbableRoutes
				.toArray(new Route[mProbableRoutes.size()])) {
			if (r.getAgency() != null
					&& r.getAgency().get_agency_name() != null) {
				output += r.getAgency().get_agency_name() + ": ";
			}
			if (r.getName() != null) {
				output += r.getName() + " ";
			}
		}

		output += ")";
		return output;
	}