@Override protected Size2D arrangeRR(Graphics2D g2,Range widthRange,Range heightRange){
  g2.setFont(getFont());
  FontMetrics fm=g2.getFontMetrics(getFont());
  Rectangle2D bounds=TextUtilities.getTextBounds(getText(),g2,fm);
  if (bounds.getWidth() <= widthRange.getUpperBound() && bounds.getHeight() <= heightRange.getUpperBound()) {
    return new Size2D(bounds.getWidth(),bounds.getHeight());
  }
 else {
    return new Size2D(0.0,0.0);
  }
}

@ Override protected Size2D arrangeRR ( Graphics2D g2 , Range widthRange , Range heightRange ) { g2 . setFont ( getFont ( ) ) ; FontMetrics fm = g2 . getFontMetrics ( getFont ( ) ) ; Rectangle2D bounds = TextUtilities . getTextBounds ( getText ( ) , g2 , fm ) ; if ( bounds . getWidth ( ) <= widthRange . getUpperBound ( ) && bounds . getHeight ( ) <= heightRange . getUpperBound ( ) ) { return new Size2D ( bounds . getWidth ( ) , bounds . getHeight ( ) ) ; } else { return new Size2D ( 0.0 , 0.0 ) ; } }
returns the content size for the title .
