*
   * @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 CycAssertion getAssertionById(Integer id)
          throws UnknownHostException, IOException, CycApiException {
    final String command = makeSubLStmt("find-assertion-by-id", id);
    Object obj = converseObject(command);

    if (obj.equals(new CycSymbol("NIL"))) {
      return null;
    } else if (!(obj instanceof CycAssertion)) {
      throw new RuntimeException(obj + " is not a CycAssertion");
    } else {
      return (CycAssertion) obj;
    }
  }