Доброго времени суток! Подскажите пожалуйста почему при компиляции выдаёт ошибку и почему не верно выполняется функция removeAllNumbersMoreThan10? Создать множество чисел(Set), занести туда 20 различных чисел. Удалить из множества все числа больше 10. Требования: 1. Программа не должна выводить текст на экран. 2. Программа не должна считывать значения с клавиатуры. 3. Класс Solution должен содержать только три метода. 4. Метод createSet() должен создавать и возвращать множество HashSet состоящих из 20 различных чисел. 5. Метод removeAllNumbersMoreThan10() должен удалять из множества все числа больше 10.
public class Solution {
    public static HashSet<Integer> createSet() {
        HashSet<Integer> set=new HashSet<Integer>();

        for (int i=0;i<20;i++)
            set.add(i);
        return set;
    }

    public static HashSet<Integer> removeAllNumbersMoreThan10(HashSet<Integer> set) {
        Iterator iter=set.iterator();
        for (int i=0;iter.hasNext();i++)
        {
            if (((int)iter.next())>10) {set.remove(i); i--;}
        }
        return set;

    }

    public static void main(String[] args) {
        HashSet a=createSet();
        Iterator iter=a.iterator();
        for (int i=0;i<a.size();i++)
            System.out.println(iter.next());
        removeAllNumbersMoreThan10(a);

        for (int i=0;i<a.size();i++)
            System.out.println(iter.next());

    }
}