/** Returns true if Solution can be valid. */ public boolean isValidSolution() { for (EntityTriple e : solution) { if (!e.isValidTriple()) { return false; } } for (int i = 0; i < solution.size(); i += 1) { for (int j = (i + 1); j < solution.size(); j += 1) { if (solution.get(i).hasSameEntities(solution.get(j))) { return false; } } } return true; }