public Play parse(String line, long offset) {
		Play play = new Play();
		try {
			if (offset != 0 && !isBlank(line)) {
				String[] split = line.split(",");
				play.setPeriod(Integer.parseInt(split[PERIOD_INDEX]));
				String team = split[TEAM_INDEX];
				if (NUM_INDEX < split.length) {
					play.setTeam(team);
					play.setEtype(split[ETYPE_INDEX]);
					if (!isBlank(split[NUM_INDEX]))
						play.setNum(Integer.parseInt(split[NUM_INDEX]));
					if (!isBlank(split[OUTOF_INDEX]))
						play.setOutof(Integer.parseInt(split[OUTOF_INDEX]));
					play.setPlayer(split[PLAYER_INDEX]);
					if (!isBlank(split[POINTS_INDEX]))
						play.setPoints(Integer.parseInt(split[POINTS_INDEX]));
					if (RESULT_INDEX < split.length)
						play.setResult(split[RESULT_INDEX]);
					if (TYPE_INDEX < split.length)
						play.setType(split[TYPE_INDEX]);
				}
			}
		} catch (Throwable t) {
			System.err.println(offset + ":" + line);
			throw new RuntimeException(t);
		}
		return play;
	}