public void genLists(int num) { int[] seq = new int[num/2]; int seqIndex = 0; int prime = highestPrimes[num + 1]; for(;;) { System.out.print("i"); num -= prime; seq[seqIndex++] = prime; if(num == 0) { seqs.add(seq.clone()); } if(num <= 0) { prime = -1; } while(prime < 0 && seqIndex > 0) { prime = seq[--seqIndex]; seq[seqIndex] = 0; num += prime; prime = highestPrimes[prime]; } if(prime < 0 && seqIndex <= 0) { break; } } }