private static void addCurveTo(Point2D.Double[] bezCurve,BezierPath bezierPath,double errorSquared,boolean connectsCorners){
  BezierPath.Node lastNode=bezierPath.get(bezierPath.size() - 1);
  double error=Math.sqrt(errorSquared);
  if (connectsCorners && Geom.lineContainsPoint(lastNode.x[0],lastNode.y[0],bezCurve[3].x,bezCurve[3].y,bezCurve[1].x,bezCurve[1].y,error) && Geom.lineContainsPoint(lastNode.x[0],lastNode.y[0],bezCurve[3].x,bezCurve[3].y,bezCurve[2].x,bezCurve[2].y,error)) {
    bezierPath.lineTo(bezCurve[3].x,bezCurve[3].y);
  }
 else {
    bezierPath.curveTo(bezCurve[1].x,bezCurve[1].y,bezCurve[2].x,bezCurve[2].y,bezCurve[3].x,bezCurve[3].y);
  }
}

private static void addCurveTo ( Point2D . Double [ ] bezCurve , BezierPath bezierPath , double errorSquared , boolean connectsCorners ) { BezierPath . Node lastNode = bezierPath . get ( bezierPath . size ( ) - 1 ) ; double error = Math . sqrt ( errorSquared ) ; if ( connectsCorners && Geom . lineContainsPoint ( lastNode . x [ 0 ] , lastNode . y [ 0 ] , bezCurve [ 3 ] . x , bezCurve [ 3 ] . y , bezCurve [ 1 ] . x , bezCurve [ 1 ] . y , error ) && Geom . lineContainsPoint ( lastNode . x [ 0 ] , lastNode . y [ 0 ] , bezCurve [ 3 ] . x , bezCurve [ 3 ] . y , bezCurve [ 2 ] . x , bezCurve [ 2 ] . y , error ) ) { bezierPath . lineTo ( bezCurve [ 3 ] . x , bezCurve [ 3 ] . y ) ; } else { bezierPath . curveTo ( bezCurve [ 1 ] . x , bezCurve [ 1 ] . y , bezCurve [ 2 ] . x , bezCurve [ 2 ] . y , bezCurve [ 3 ] . x , bezCurve [ 3 ] . y ) ; } }
adds the curve to the bezier path .
