@Override
 protected void cairoCurveTo(
     long pointer, double x1, double y1, double x2, double y2, double x3, double y3) {
   try {
     lock();
     super.cairoCurveTo(pointer, x1, y1, x2, y2, x3, y3);
   } finally {
     unlock();
   }
 }