public void initCaches() {
    if (myInitialized) return;

    myInitialized = true;
    if (myFrameProxy == null) {
      if (myThreadProxy != null) {
        if (mySuspendContext != null && myThreadProxy.equals(mySuspendContext.getThread())) {
          myFrameProxy = mySuspendContext.getFrameProxy();
        }
        else {
          try {
            myFrameProxy = myThreadProxy.frameCount() > 0 ? myThreadProxy.frame(0) : null;
          }
          catch (EvaluateException ignored) {
          }
        }
      }
    }

    if (myFrameProxy != null) {
      if (mySourcePosition == null) {
        mySourcePosition = ContextUtil.getSourcePosition(this);
      }
      myContextElement = ContextUtil.getContextElement(mySourcePosition);
    }
  }
public void initCaches()