code: MonocleWindow getWindow(boolean recalculateCache, MonocleWindow fallback) {
          if (window == null) {
              window = fallback;
          }
          if (recalculateCache) {
              window = fallback;
              if (primaryID >= 0) {
                  Point p = getPointForID(primaryID);
                  if (p != null) {
                      window = (MonocleWindow)
                              MonocleWindowManager.getInstance()
                                      .getWindowForLocation(p.x, p.y);
                  }
              }
          }
          return window;
      }
docs: Returns the Glass window on which this event state is located.
  assignPrimaryID() should be called before this method.
  
  @param recalculateCache true if the cached value should be discarded and
  recomputed
  @param fallback the window to use if no primary ID is available