public PrimeIterator(int max) 
	{		 
			//primeNumbers = new List<Integer>();
	        isPrime = new boolean[max + 1];
	        for (int i = 2; i <= max; i++) {
	            isPrime[i] = true;
	        }

	        for (int i = 2; i*i <= max; i++) {

	            if (isPrime[i]) {
	                for (int j = i; i*j <= max; j++) {
	                    isPrime[i*j] = false;
	                }
	            }
	        }
	}