private int sortIslandToMoveIn(final Island o1, final Island o2) { if ((o1.getPlayer() == -1) && (o2.getPlayer() == -1)) { if ((o1.getAllPositions().size() > 1) && (o2.getAllPositions().size() > 1)) return -((Integer) o1.getAllPositions().size()).compareTo(o2.getAllPositions().size()); else { if (o1.getAllPositions().size() > 1) return -1; if (o2.getAllPositions().size() > 1) return 1; } } else { if (o1.getPlayer() == -1) return -1; if (o2.getPlayer() == -1) return 1; } return 0; }