private void sphere_line () {
    // draw stack lines
    for (int i=1; i<stacks; i++) {
      double rho = i * drho;     // no i==0
      gl.begin (GL.LINE_LOOP);
      
      for (int j=0; j<slices; j++) {
        double theta = j * dtheta;
        sphere_line_draw (theta, rho);
      }

      gl.end ();
    }

    // draw slice lines
    for (int j=0; j<slices; j++) {
      double theta = j * dtheta;
      gl.begin (GL.LINE_STRIP);

      for (int i=0; i<=stacks; i++) {
        double rho = i * drho;     
        sphere_line_draw (theta, rho);
      }

      gl.end ();
    }
  }