@Override
  public void addElement(@NotNull LookupElement t, @NotNull ProcessingContext context) {
    Comparable<?> weight = myWeigher.weigh(t, context.get(CompletionLookupArranger.WEIGHING_CONTEXT));
    if (weight instanceof ForceableComparable) {
      ((ForceableComparable)weight).force();
    }
    synchronized (this) {
      if (!myWeigher.isPrefixDependent() && myPrimitive) {
        if (myFirstWeight == null) {
          myFirstWeight = Ref.create(weight);
        } else if (!Comparing.equal(myFirstWeight.get(), weight)) {
          myPrimitive = false;
        }
      }
      myWeights.put(t, weight);
    }
    super.addElement(t, context);
  }
@Override
  public void addElement(@NotNull LookupElement t, @NotNull ProcessingContext context)