*
   * @throws IOException if a data communication error occurs
   * @throws UnknownHostException if cyc server host not found on the network
   * @throws CycApiException if the api request results in a cyc server error
   */
  public CycConstant getConstantByName(final String constantName)
          throws UnknownHostException, IOException, CycApiException {
    String name = constantName;
    if (constantName.startsWith("#$")) {
      name = name.substring(2);
    }
    CycConstant answer = CycObjectFactory.getCycConstantCacheByName(name);
    if (answer != null) {
      return answer;
    }
    final String command = makeSubLStmt("find-constant", name);
    final Object answerObject = converseObject(command);
    if (answerObject instanceof CycConstant) {
      answer = (CycConstant) answerObject;
      CycObjectFactory.addCycConstantCache(answer);
      return answer;
    }
    return null;
  }