@Override
	public void run() {
		int sum = 2;
		List<Integer> primes = new ArrayList<>();
		primes.add(new Integer(2));
		int i = 3;
		while(sum < MAX_VALUE) {
			if(PrimeUtil.isPrime(i)) {
				primes.add(new Integer(i));
				sum += i;
			}
			i += 2;
		}

		int largestPrime = 2;
		int consecutivePrimes = 0;
		for(int j = 0; j < primes.size() - 1; j++) {
			sum = 0;
			int counter = j;
			// Find the highest sum below the MAX_VALUE starting at each prime in the list
			while(sum < MAX_VALUE && counter < primes.size()) {
				sum += primes.get(counter).intValue();
				counter++;
			}

			// Now remove primes until the sum is a prime
			while(!PrimeUtil.isPrime(sum)) {
				sum -= primes.get(counter - 1).intValue();
				counter--;
			}

			// If the counter - j is greatest then that is the number of consecutive primes
			// The sum must also be larger then the largest prime found so far
			if(counter - j > consecutivePrimes && sum > largestPrime) {
				consecutivePrimes = counter - j;
				largestPrime = sum;
			}
		}
		setAnswer(String.valueOf(largestPrime));

	}