code: @Override
      public Multimap<Id, Revision> publish() {
          Multimap<Id, Revision> result = options.transactions.writeNewRequired(this::doPublish);
          if (this.cache != null) {
              result.keySet().forEach(this.cache::refresh);
          }
          return result;
      }
docs: NOTE: publish() is called in a new transaction to ensure it sees only committed versions.