addItemProbabilities(prediction, VS_BACKHAND, isOpponentBackhand(playerData2.getBackhand()), isOpponentBackhand(playerData1.getBackhand()));
addItemProbabilities(prediction, SET, ALWAYS_TRUE);
addItemProbabilities(prediction, SURFACE_SET, isSurface(surface));
addItemProbabilities(prediction, LEVEL_SET, isLevel(level));
addItemProbabilities(prediction, ROUND_SET, isRound(round));
<BUG>addItemProbabilities(prediction, RECENT_SET, isRecent(date, getSetRecentPeriod()));

addItemProbabilities(prediction, SURFACE_RECENT_SET, isSurface(surface).and(isRecent(date, getSetRecentPeriod())));

addItemProbabilities(prediction, LEVEL_RECENT_SET, isLevel(level).and(isRecent(date, getSetRecentPeriod())));

addItemProbabilities(prediction, ROUND_RECENT_SET, isRound(round).and(isRecent(date, getSetRecentPeriod())));
</BUG>
addItemProbabilities(prediction, RECENT_FORM_SET, ALWAYS_TRUE, getRecentFormMatches());

addItemProbabilities(prediction, VS_BACKHAND, isOpponentBackhand(playerData2.getBackhand()), isOpponentBackhand(playerData1.getBackhand()));
addItemProbabilities(prediction, SET, ALWAYS_TRUE);
addItemProbabilities(prediction, SURFACE_SET, isSurface(surface));
addItemProbabilities(prediction, LEVEL_SET, isLevel(level));
addItemProbabilities(prediction, ROUND_SET, isRound(round));
addItemProbabilities(prediction, RECENT_SET, isRecent(date1, getSetRecentPeriod()), isRecent(date2, getSetRecentPeriod()));
addItemProbabilities(prediction, SURFACE_RECENT_SET, isSurface(surface).and(isRecent(date1, getSetRecentPeriod())), isSurface(surface).and(isRecent(date2, getSetRecentPeriod())));
addItemProbabilities(prediction, LEVEL_RECENT_SET, isLevel(level).and(isRecent(date1, getSetRecentPeriod())), isLevel(level).and(isRecent(date2, getSetRecentPeriod())));
addItemProbabilities(prediction, ROUND_RECENT_SET, isRound(round).and(isRecent(date1, getSetRecentPeriod())), isRound(round).and(isRecent(date2, getSetRecentPeriod())));
addItemProbabilities(prediction, RECENT_FORM_SET, ALWAYS_TRUE, getRecentFormMatches());
