if(Arrays.binarySearch(unwantedIgnoreNums, ii) >= 0) continue;
if(Arrays.binarySearch(wantedMoveNums, ii) >= 0) continue;
if(Arrays.binarySearch(unwantedMoveNums, ii) >= 0) continue;
unwantedMove.add(ii);
}
<BUG>unwantedMoveNums = (Integer[]) unwantedMove.toArray(new Integer[unwantedMove.size()]);
System.err.println("Keys to keep where they are:     "+wantedKeepNums.length);</BUG>
System.err.println("Keys which will be wiped anyway: "+unwantedIgnoreNums.length);
System.err.println("Keys to move:                    "+wantedMoveNums.length);
System.err.println("Keys to be moved over:           "+unwantedMoveNums.length);

if(Arrays.binarySearch(unwantedIgnoreNums, ii) >= 0) continue;
if(Arrays.binarySearch(wantedMoveNums, ii) >= 0) continue;
if(Arrays.binarySearch(unwantedMoveNums, ii) >= 0) continue;
unwantedMove.add(ii);
}
unwantedMoveNums = unwantedMove.toArray(new Integer[unwantedMove.size()]);
System.err.println("Keys to keep where they are:     "+wantedKeepNums.length);
System.err.println("Keys which will be wiped anyway: "+unwantedIgnoreNums.length);
System.err.println("Keys to move:                    "+wantedMoveNums.length);
System.err.println("Keys to be moved over:           "+unwantedMoveNums.length);
