Не работает:
for (Integer s : set) {
set.addAll(getAllFriendsAndPotentialFriends(s, deep - 1));
}
Работает:
Object[] arrayToProcess = set.toArray();
for (Object value : arrayToProcess) {
set.addAll(getAllFriendsAndPotentialFriends((Integer) value, deep - 1));
}