private void drawOverflowIndicator(final WorkflowAnnotation anno,final Graphics2D g,final Rectangle2D loc,final boolean printing){
  if (printing) {
    return;
  }
  Graphics2D g2=(Graphics2D)g.create();
  int size=20;
  int xOffset=10;
  int yOffset=10;
  int stepSize=size / 4;
  int dotSize=3;
  int x=(int)loc.getMaxX() - size - xOffset;
  int y=(int)loc.getMaxY() - size - yOffset;
  GradientPaint gp=new GradientPaint(x,y,Color.WHITE,x,y + size * 1.5f,Color.LIGHT_GRAY);
  g2.setPaint(gp);
  g2.fillRect(x,y,size,size);
  g2.setColor(Color.BLACK);
  g2.drawRect(x,y,size,size);
  g2.fillOval(x + stepSize,y + stepSize * 2,dotSize,dotSize);
  g2.fillOval(x + stepSize * 2,y + stepSize * 2,dotSize,dotSize);
  g2.fillOval(x + stepSize * 3,y + stepSize * 2,dotSize,dotSize);
  g2.dispose();
}

private void drawOverflowIndicator ( final WorkflowAnnotation anno , final Graphics2D g , final Rectangle2D loc , final boolean printing ) { if ( printing ) { return ; } Graphics2D g2 = ( Graphics2D ) g . create ( ) ; int size = 20 ; int xOffset = 10 ; int yOffset = 10 ; int stepSize = size / 4 ; int dotSize = 3 ; int x = ( int ) loc . getMaxX ( ) - size - xOffset ; int y = ( int ) loc . getMaxY ( ) - size - yOffset ; GradientPaint gp = new GradientPaint ( x , y , Color . WHITE , x , y + size * 1.5f , Color . LIGHT_GRAY ) ; g2 . setPaint ( gp ) ; g2 . fillRect ( x , y , size , size ) ; g2 . setColor ( Color . BLACK ) ; g2 . drawRect ( x , y , size , size ) ; g2 . fillOval ( x + stepSize , y + stepSize * 2 , dotSize , dotSize ) ; g2 . fillOval ( x + stepSize * 2 , y + stepSize * 2 , dotSize , dotSize ) ; g2 . fillOval ( x + stepSize * 3 , y + stepSize * 2 , dotSize , dotSize ) ; g2 . dispose ( ) ; }
draws indicator in case the annotation text overflows on the y axis .
