code: @Override
      public void visit(Event event) {
          assert this.kh != null : "kh wasn't set";
          Event e = new Event(propId, this.uniqueIdProvider.getInstance());
          e.setInterval(event.getInterval());
          e.setSourceSystem(SourceSystem.DERIVED);
          e.setCreateDate(new Date());
          this.kh.insertLogical(e);
          this.derivationsBuilder.propositionAsserted(event, e);
          LOGGER.log(Level.FINER, "Asserted derived proposition {0}", e);
      }
docs: Creates a derived event with the id specified in the
  constructor and the same characteristics (e.g., data source type,
  interval, etc.).
  
  @param event an {@link Event}. Cannot be <code>null</code>.