public void extension_details () {
    System.out.println ("\n\n---- extension details");

    try {
      System.out.println (new gnu.x11.extension.
      BigRequests (display) + "\n");
    } catch (NotFoundException e) {
      System.out.println ("big requests not found\n");
    }

    try {
      System.out.println (new gnu.x11.extension.DBE (display) + "\n");
    } catch (NotFoundException e) {
      System.out.println ("dbe not found\n");
    }

    try {
      System.out.println (new gnu.x11.extension.DPMS (display) + "\n");
    } catch (NotFoundException e) {
      System.out.println ("dpms not found\n");
    }

    try {
      System.out.println (new gnu.x11.extension.EVI (display) + "\n");
    } catch (NotFoundException e) {
      System.out.println ("evi not found\n");
    }

    try {
      GLX glx = new GLX (display);
      System.out.println (glx + Misc.to_string (glx.visual_configs (0)));

      GL gl = glx.create_context (display.default_screen.root_visual_id (),
        display.default_screen_no, GL.NONE0);
      gl.make_current (display.default_root);
      System.out.println (gl + "\n");

    } catch (NotFoundException e) {
      System.out.println ("glx not found\n");
    }

    try {
      Render render = new Render (display);
      System.out.println (render 
        + Misc.to_string (render.picture_formats ()));
    } catch (NotFoundException e) {
      System.out.println ("render not found\n");
    }

    try {
      System.out.println (new gnu.x11.extension.Shape (display) + "\n");
    } catch (NotFoundException e) {
      System.out.println ("shape not found\n");
    }

    try {
      System.out.println (new gnu.x11.extension.XCMisc (display) + "\n");
    } catch (NotFoundException e) {
      System.out.println ("xcmic not found\n");
    }

    try {
      System.out.println (new gnu.x11.extension.XTest (display) + "\n");
    } catch (NotFoundException e) {
      System.out.println ("xtest not found\n");
    }
  }