private void mapServerDatePublished(Document opus, OriginInfoDefinition oid) {
    final String mappedDateEncoding = dateEncoding(opus.getServerDatePublished());

    DateDefinition dateIssued =
        (DateDefinition)
            select(
                String.format(
                    "mods:dateIssued[@encoding='%s' and @keyDate='%s']", "iso8601", "yes"),
                oid);

    if (dateIssued == null) {
      dateIssued = oid.addNewDateIssued();
      dateIssued.setEncoding(ISO_8601);
      dateIssued.setKeyDate(XmlString.Factory.newValue("yes"));
      signalChanges(MODS_CHANGES);
    }

    if (!dateIssued.getStringValue().equals(mappedDateEncoding)) {
      dateIssued.setStringValue(mappedDateEncoding);
      signalChanges(MODS_CHANGES);
    }
  }