*/
  public String string (int name) {
    if (name == VERSION && version_string_cache != null)
      return version_string_cache;

    RequestOutputStream o = display.out;
    String str;
    synchronized (o) {
      o.begin_request(glx.major_opcode, 129, 3);
      o.write_int32 (tag);
      o.write_int32 (name);
      ResponseInputStream in = display.in;
      synchronized (in) {
        in.read_reply (o);
        in.skip (12);
        int n = in.read_int32 ();
        in.skip (16);
        str = in.read_string8 (n);
        in.skip (RequestOutputStream.pad (n));
      }
    }

    if (name == VERSION) 
      version_string_cache = str;

    return str;
  }