put(key, value);
Value oldValue = entry._value;  if (value instanceof Var) {  Var var = (Var) value; var.setReference();  entry._value = var; } else if (oldValue instanceof Var) { oldValue.set(value); } else { entry._value = value; }
  public Value put(Value value)  {    if (_isDirty)       copyOnWrite();        Value key = createTailKey();    put(key, value);    return value;  }