private void putFor(Object object, @NotNull String key,
                      Point location, boolean locationSet,
                      Dimension size, boolean sizeSet,
                      boolean maximized, boolean maximizedSet,
                      boolean fullScreen, boolean fullScreenSet) {
    if (GraphicsEnvironment.getLocalGraphicsEnvironment().isHeadlessInstance()) return;
    if (UISettings.getInstance().getPresentationMode()) key += PRESENTATION_MODE_MODE_KEY_SUFFIX; // separate key for the presentation mode
    key = withAppendedIdeScale(key);
    GraphicsConfiguration configuration = getConfiguration(object);
    synchronized (myStateMap) {
      put(getAbsoluteKey(configuration, key), location, locationSet, size, sizeSet, maximized, maximizedSet, fullScreen, fullScreenSet);

      CachedState state = put(key, location, locationSet, size, sizeSet, maximized, maximizedSet, fullScreen, fullScreenSet);
      if (state != null) state.updateScreenRectangle(configuration); // update a screen to adjust stored state
    }
    myModificationCount.getAndIncrement();
  }
private void putFor(Object object, @NotNull String key,
                      Point location, boolean locationSet,
                      Dimension size, boolean sizeSet,
                      boolean maximized, boolean maximizedSet,
                      boolean fullScreen, boolean fullScreenSet)