private static int determineNext( List<TransitionTable> frontier, IntSet remainingVariableIds, int countPerSplit) { double maxEntropy = -Double.MAX_VALUE; int maxVariable = remainingVariableIds.iterator().nextInt(); for (int variable : remainingVariableIds) { double entropy = frontierEntropy(frontier, variable, countPerSplit); if (entropy > maxEntropy) { maxEntropy = entropy; maxVariable = variable; } } return maxVariable; }