public boolean updateBorder() {
    @NlsSafe String title = null;
    String oldTitle = null;
    if (myBorderTitle != null) {
      oldTitle = myBorderTitle.getResolvedValue();
      myBorderTitle.setResolvedValue(null);
      // NOTE: the explicit getValue() check is required for SnapShooter operation
      if (myBorderTitle.getValue() != null) {
        title = myBorderTitle.getValue();
      }
      else {
        title = StringDescriptorManager.getInstance(getModule()).resolve(this, myBorderTitle);
      }
    }
    Font font = (myBorderTitleFont != null) ? myBorderTitleFont.getResolvedFont(getDelegee().getFont()) : null;
    Color titleColor = (myBorderTitleColor != null) ? myBorderTitleColor.getResolvedColor() : null;
    Color borderColor = (myBorderColor != null) ? myBorderColor.getResolvedColor() : null;
    getDelegee().setBorder(myBorderType.createBorder(title, myBorderTitleJustification, myBorderTitlePosition,
                                                     font, titleColor, myBorderSize, borderColor));
    return myBorderTitle != null && !Objects.equals(oldTitle, myBorderTitle.getResolvedValue());
  }
public boolean updateBorder()