*
   * @throws UnknownHostException if cyc server host not found on the network
   * @throws IOException if a data communication error occurs
   * @throws CycApiException if the api request results in a cyc server error
   */
  public synchronized void rename(final CycConstant cycConstant, final String newName)
          throws UnknownHostException, IOException, CycApiException {
    String command = wrapBookkeeping("(ke-rename-now " + cycConstant.stringApiValue() + "\"" + newName + "\")");
    Object result = converseObject(command);
    if (result.equals(CycObjectFactory.nil)) {
      throw new CycApiException(newName + " is an invalid new name for " + cycConstant.cyclify());
    }
    CycObjectFactory.removeCaches(cycConstant);
    cycConstant.setName(newName);
    CycObjectFactory.addCycConstantCache(cycConstant);
  }