private boolean deleteLinkImpl(
     String dbid, long id1, long link_type, long id2, boolean noinverse, boolean expunge)
     throws Exception {
   if (Level.DEBUG.isGreaterOrEqual(debuglevel)) {
     logger.debug("deleteLink " + id1 + "." + id2 + "." + link_type);
   }
   String s = "wormhole...";
   dbid += "assocs";
   return getAssocClient()
           .TaoAssocDelete(
               dbid.getBytes(),
               link_type,
               id1,
               id2,
               AssocVisibility.HARD__DELETE,
               true,
               s.getBytes(),
               writeOptions)
       == 1;
 }
  private boolean addLinkImpl(String dbid, Link l, boolean noinverse) throws Exception {

    if (Level.DEBUG.isGreaterOrEqual(debuglevel)) {
      logger.debug("addLink " + l.id1 + "." + l.id2 + "." + l.link_type);
    }
    AssocVisibility av = AssocVisibility.values()[l.visibility];
    String s = "wormhole...";
    dbid += "assocs";
    return getAssocClient()
            .TaoAssocPut(
                dbid.getBytes(),
                l.link_type,
                l.id1,
                l.id2,
                l.time,
                av,
                true,
                Long.valueOf(l.version),
                l.data,
                s.getBytes(),
                writeOptions)
        == 1;
  }