public void parse(int inID, String inLine) {
		String[] f = CSVParser.parseLine(inLine);

		sGTFS_ID = inID;

		// System.out.println("Parsing: " + getGTFS_ID() + "   " + inLine);
		ArrayList<String> inHeader = _headers.get(inID).get(this.getFilename());

		if (inHeader == null || f == null || f.length == 0
				|| f.length != inHeader.size()) {
			return;
		}

		Class clazz = this.getClass();

		for (int i = 0; i < f.length; i++) {
			if (f[i] != null && f[i].length() > 0) {
				try {
					clazz.getMethod("set_" + inHeader.get(i), String.class)
							.invoke(this, f[i].replace("\"", ""));
				} catch (IllegalAccessException | IllegalArgumentException
						| InvocationTargetException | NoSuchMethodException
						| SecurityException ex) {
					Logger.getLogger(GTFSParser.class.getName()).log(
							Level.SEVERE, null, ex);
				}

			}
		}
	}