@Override
  public Modifier getModifier() {
    return new Modifier() {
      @Override
      public boolean canInspect() {
        return false;
      }

      @Override
      public boolean canSetValue() {
        return false;
      }

      @Override
      public void setValue(Value value) throws EvaluateException {
        if (value != null) {
          Type type = value.type();
          if (myTypeNameString != null && !DebuggerUtilsEx.isAssignableFrom(myTypeNameString, type)) {
            throw EvaluateExceptionUtil.createEvaluateException(
              JavaDebuggerBundle.message("evaluation.error.cannot.cast.object", type.name(), myTypeNameString));
          }
        }
        myCodeFragmentEvaluator.setValue(myLocalName, value);
      }

      @Override
      public Type getExpectedType() {
        LOG.assertTrue(false);
        return null;
      }

      @Override
      public NodeDescriptorImpl getInspectItem(Project project) {
        return null;
      }
    };
  }
@Override
  public Modifier getModifier()