*
   * @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 CycConstant getConstantByGuid(Guid guid)
          throws UnknownHostException, IOException, CycApiException {
    CycConstant answer = CycObjectFactory.getCycConstantCacheByGuid(
            guid);
    if (answer != null) {
      return answer;
    }
    final String command =
            makeSubLStmt("find-constant-by-external-id",
            makeNestedSubLStmt("string-to-guid", guid.getGuidString()));
    final Object answerObject = converseObject(command);
    if (answerObject instanceof CycConstant) {
      answer = (CycConstant) answerObject;
      CycObjectFactory.addCycConstantCache(answer);
      return answer;
    }
    return null;
  }