private boolean setFontRenderContext(FontRenderContext context) {
    FontRenderContext contextToSet = context == null ? FontInfo.getFontRenderContext(myEditor.getContentComponent()) : context;
    if (areEqualContexts(myFontRenderContext, contextToSet)) return false;

    AffineTransform transform = contextToSet.getTransform();
    if (transform.getDeterminant() == 0) {
      LOG.error("Incorrect transform in FontRenderContext" + (context == null ? " obtained from component" : "") + ": " + transform);
      contextToSet = new FontRenderContext(new AffineTransform(),
                                           contextToSet.getAntiAliasingHint(), contextToSet.getFractionalMetricsHint());
    }

    Object fmHint = UISettings.getEditorFractionalMetricsHint();
    myFontRenderContext = contextToSet.getFractionalMetricsHint() == fmHint
                          ? contextToSet
                          : new FontRenderContext(contextToSet.getTransform(), 
                                                  contextToSet.getAntiAliasingHint(), 
                                                  fmHint);
    return true;
  }
private boolean setFontRenderContext(FontRenderContext context)