public final int compare(final Item existing, final Item adding) { final int s1 = existing.getSalience(); final int s2 = adding.getSalience(); if (s1 != s2) { return s1 - s2; } // we know that no two activations will have the same number return (int) (existing.getActivationNumber() - adding.getActivationNumber()); }