public MergeNodesOperation(
      Session session, User user, Taxon mergeTarget, List<Taxon> taxaToMerge) {
    super(session, TaxomaticIO.MERGE);
    TaxomaticOperation operation = new TaxomaticOperation();
    operation.setDate(new Date());
    operation.setInstructions(generateInstructions(mergeTarget, taxaToMerge));
    operation.setDetails(generateDetails(mergeTarget, taxaToMerge));
    operation.setOperation(TaxomaticIO.MERGE);
    operation.setUser(user);

    this.operation = operation;
    this.mergeTarget = mergeTarget;
    this.taxaToMerge = taxaToMerge;
  }