private void putAllNoCopy(@NotNull ResolveState other) {
      if (other instanceof OneElementResolveState) {
        OneElementResolveState oneState = (OneElementResolveState)other;
        myValues.put(oneState.myKey, oneState.myValue);
      }
      else if (other instanceof TwoElementResolveState) {
        TwoElementResolveState twoState = (TwoElementResolveState)other;
        myValues.put(twoState.myKey1, twoState.myValue1);
        myValues.put(twoState.myKey2, twoState.myValue2);
      }
      else if (other instanceof ManyElementResolveState) {
        ManyElementResolveState manyState = (ManyElementResolveState)other;
        myValues.putAll(manyState.myValues);
      }
    }
private void putAllNoCopy(@NotNull ResolveState other)