public static List<Integer> makeEratosthenesSieve() {
        List<Integer> primes = new ArrayList<Integer>();
        int upperBound = 10000;

        int upperBoundSquareRoot = (int) Math.sqrt(upperBound);
        boolean[] isComposite = new boolean[upperBound + 1];
        for (int m = 2; m <= upperBoundSquareRoot; m++) {
            if (!isComposite[m]) {
                primes.add(m);
                for (int k = m * m; k <= upperBound; k += m)
                    isComposite[k] = true;
            }
        }
        for (int m = upperBoundSquareRoot; m <= upperBound; m++)
            if (!isComposite[m])
                primes.add(m);

        // 25 liczb pierwszych < 100
        primes = primes.subList(25, primes.size());
        return getTenPrimes(primes);
    }