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());
    }