class RaveNode extends SimpleSearchNode {

	@Override
	public void recordPlayout(float winProportion, McRunnable runnable, int t) {
		final ShortSet playedPoints = runnable.getPlayedPoints();
		super.recordPlayout(winProportion, runnable, t);
		playedPoints.clear();
		// The remaining moves in the sequence are recorded for RAVE
		while (t < runnable.getTurn()) {
			short move = runnable.getHistoryObserver().get(t);
			if (move != PASS && !playedPoints.contains(move)) {
				assert runnable.getBoard().getCoordinateSystem()
						.isOnBoard(move);
				playedPoints.addKnownAbsent(move);
				addRaveRun(move, winProportion);
			}
			t++;
			if (t >= runnable.getTurn()) {
				return;
			}
			move = runnable.getHistoryObserver().get(t);
			playedPoints.add(move);
			t++;
		}
	}

	public  RaveNode(CoordinateSystem coords);

}