@Nullable
  private static String getPropertyValue(@NotNull EvaluationContextImpl evaluationContext,
                                         @NotNull ClassType systemClassType,
                                         @NotNull String propertyName) throws EvaluateException {
    DebugProcessImpl debugProcess = evaluationContext.getDebugProcess();
    Method getPropertyMethod = DebuggerUtils.findMethod(
      systemClassType, "getProperty", "(Ljava/lang/String;)Ljava/lang/String;"
    );
    if (getPropertyMethod == null) return null;

    ObjectReference propertyNameMirror = getStringReference(evaluationContext, propertyName);
    StringReference propertyValueRef = (StringReference)debugProcess.invokeMethod(
      evaluationContext, systemClassType, getPropertyMethod, Collections.singletonList(propertyNameMirror)
    );

    return propertyValueRef == null ? null : propertyValueRef.value();
  }
@Nullable
  private static String getPropertyValue(@NotNull EvaluationContextImpl evaluationContext,
                                         @NotNull ClassType systemClassType,
                                         @NotNull String propertyName)