protected void doTestCycAccess14(CycAccess cycAccess) {
    long startMilliseconds = System.currentTimeMillis();

    if (cycAccess.getCycConnection() != null) {
      System.out.println(cycAccess.getCycConnection().connectionInfo());
    } else {
      System.out.println("CycConnection info is null.");
    }

    resetCycConstantCaches();

    try {
      // second call should access the cache by GUID
      cycAccess.traceOn();
      System.out.println("------------");

      Guid organizationGuid = new Guid(ORGANIZATION_GUID_STRING);
      CycConstant organization = cycAccess.getConstantByGuid(organizationGuid);
      System.out.println("------------");
      organization = cycAccess.getConstantByGuid(organizationGuid);
      System.out.println("------------");
      cycAccess.traceOff();
    } catch (Throwable e) {
      e.printStackTrace();
      fail(e.getMessage());
    }

    List localDisjointWiths = null;


    /*
    // complete received objects immediately
    cycAccess.deferObjectCompletion = false;
    System.out.println("deferObjectCompletion = false");
    
    // trace should show the use of the CycConstantCache to avoid redundant server
    // accesses for the term name.
    // getLocalDisjointWith.
    try {
    CycConstant vegetableMatter =
    cycAccess.getKnownConstantByGuid("bd58c455-9c29-11b1-9dad-c379636f7270");
    localDisjointWiths = cycAccess.getDisjointWiths(vegetableMatter);
    assertNotNull(localDisjointWiths);
    assertTrue(localDisjointWiths.toString().indexOf("AnimalBLO") > 0);
    localDisjointWiths = cycAccess.getDisjointWiths(vegetableMatter);
    localDisjointWiths = cycAccess.getDisjointWiths(vegetableMatter);
    localDisjointWiths = cycAccess.getDisjointWiths(vegetableMatter);
    }
    catch (Throwable e) {
    fail(e.toString());
    }
     */

    // getLocalDisjointWith.
    localDisjointWiths = null;

    try {
      CycConstant vegetableMatter = cycAccess.getKnownConstantByGuid(VEGETABLE_MATTER_GUID_STRING);
      localDisjointWiths = cycAccess.getDisjointWiths(vegetableMatter);
      assertNotNull(localDisjointWiths);


      //System.out.println("localDisjointWiths.toString()");
      //assertTrue(localDisjointWiths.toString().indexOf("AnimalBLO") > 0);
      //System.out.println("localDisjointWiths.toString()");
      //assertTrue(localDisjointWiths.toString().indexOf("AnimalBLO") > 0);
      localDisjointWiths = cycAccess.getDisjointWiths(vegetableMatter);
      localDisjointWiths = cycAccess.getDisjointWiths(vegetableMatter);
      localDisjointWiths = cycAccess.getDisjointWiths(vegetableMatter);
    } catch (Throwable e) {
      fail(e.toString());
    }

    // makeUniqueCycConstant
    try {
      final String constantName = "MyConstant";
      CycConstant cycConstant1 = cycAccess.makeUniqueCycConstant(constantName);
      System.out.println(cycConstant1.cyclify());
      assertTrue(cycConstant1.getName().startsWith(constantName));
      CycConstant cycConstant2 = cycAccess.makeUniqueCycConstant(constantName);
      System.out.println(cycConstant2.cyclify());
      assertTrue(cycConstant2.getName().startsWith(constantName));
      assertTrue(!cycConstant1.getName().equals(cycConstant2.getName()));
      CycConstant cycConstant3 = cycAccess.makeUniqueCycConstant(constantName);
      System.out.println(cycConstant3.cyclify());
      assertTrue(cycConstant3.getName().startsWith(constantName));
      assertTrue(!cycConstant3.getName().equals(cycConstant1.getName()));
      assertTrue(!cycConstant3.getName().equals(cycConstant2.getName()));
    } catch (Throwable e) {
      fail(e.toString());
    }

    long endMilliseconds = System.currentTimeMillis();
    System.out.println("  " + (endMilliseconds - startMilliseconds) + " milliseconds");
  }