private int getBaseline() {
      if (crumb == null) {
        return -1;
      }

      if (font == null) {
        update();
      }

      FontMetrics fm = getFontMetrics(font);
      if (fm != null) {
        Rectangle textR = new Rectangle();
        int scale = getScale();
        String text = layout(fm, new Rectangle(), textR, getBounds(scale * LEFT_RIGHT, scale * TOP_BOTTOM));

        if (!StringUtil.isEmpty(text)) {
          return textR.y + fm.getAscent();
        }
      }

      return -1;
    }
private int getBaseline()