@Override
  public Modifier getModifier() {
    Modifier modifier = null;
    if (myEvaluatedField != null && (myEvaluatedQualifier instanceof ClassType || myEvaluatedQualifier instanceof ObjectReference)) {
      modifier = new Modifier() {
        @Override
        public boolean canInspect() {
          return myEvaluatedQualifier instanceof ObjectReference;
        }

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

        @Override
        public void setValue(Value value) throws ClassNotLoadedException, InvalidTypeException {
          if (myEvaluatedQualifier instanceof ReferenceType) {
            ClassType classType = (ClassType)myEvaluatedQualifier;
            classType.setValue(myEvaluatedField, value);
          }
          else {
            ObjectReference objRef = (ObjectReference)myEvaluatedQualifier;
            objRef.setValue(myEvaluatedField, value);
          }
        }

        @Override
        public Type getExpectedType() throws ClassNotLoadedException {
          return myEvaluatedField.type();
        }

        @Override
        public NodeDescriptorImpl getInspectItem(Project project) {
          if (myEvaluatedQualifier instanceof ObjectReference) {
            return new FieldDescriptorImpl(project, (ObjectReference)myEvaluatedQualifier, myEvaluatedField);
          }
          else {
            return null;
          }
        }
      };
    }
    return modifier;
  }
@Override
  public Modifier getModifier()