docs: public void remove(Transaction xaction, T item) throws PersistenceException {
          Map<String,Object> keys = cache.getKeys(item);
          
          if( remove == null ) {
              synchronized( this ) {
                  while( remove == null ) {
                      compileDeleter();
                      try { wait(1000L); }
                      catch( InterruptedException ignore ) { /* ignore this */ }
                  }
              }
          }
          xaction.execute(remove, keys);
          if( dependency != null ) {
              dependency.removeDependencies(xaction, keys);
          }
          cache.release(item);
      }