public boolean divideAndDraw(GL2 gl,Point2D center1,Point2D center2,QuadCurve2D curve,GLEntity shape1,GLEntity shape2,QuadCurve2D last){
  QuadCurve2D left=new QuadCurve2D.Float();
  QuadCurve2D right=new QuadCurve2D.Float();
  curve.subdivide(left,right);
  boolean resL=drawCurve(gl,center1,center2,left,shape1,shape2,last);
  boolean resR=drawCurve(gl,center1,center2,right,shape1,shape2,last);
  return resL || resR;
}

public boolean divideAndDraw ( GL2 gl , Point2D center1 , Point2D center2 , QuadCurve2D curve , GLEntity shape1 , GLEntity shape2 , QuadCurve2D last ) { QuadCurve2D left = new QuadCurve2D . Float ( ) ; QuadCurve2D right = new QuadCurve2D . Float ( ) ; curve . subdivide ( left , right ) ; boolean resL = drawCurve ( gl , center1 , center2 , left , shape1 , shape2 , last ) ; boolean resR = drawCurve ( gl , center1 , center2 , right , shape1 , shape2 , last ) ; return resL || resR ; }
divide the given curve in two half , and call drawcurve on each part .
