code: func (a *ACL) Clone(id string, q *WriteOptions) (string, *WriteMeta, error) {
  	r := a.c.newRequest("PUT", "/v1/acl/clone/"+id)
  	r.setWriteOptions(q)
  	rtt, resp, err := requireOK(a.c.doRequest(r))
  	if err != nil {
  		return "", nil, err
  	}
  	defer resp.Body.Close()
  
  	wm := &WriteMeta{RequestTime: rtt}
  	var out struct{ ID string }
  	if err := decodeBody(resp, &out); err != nil {
  		return "", nil, err
  	}
  	return out.ID, wm, nil
  }
docs: // Clone is used to return a new token cloned from an existing one
  //
  // Deprecated: Use TokenClone instead.