private void createHistoryEvent(
     HistoryEventType eventType,
     Long nID_Subject,
     String sSubjectName_Upload,
     Long nID_Document,
     Document document) {
   Map<String, String> values = new HashMap<>();
   try {
     Document oDocument = document == null ? documentDao.getDocument(nID_Document) : document;
     values.put(HistoryEventMessage.DOCUMENT_TYPE, oDocument.getDocumentType().getName());
     values.put(HistoryEventMessage.DOCUMENT_NAME, oDocument.getName());
     values.put(HistoryEventMessage.ORGANIZATION_NAME, sSubjectName_Upload);
   } catch (Throwable e) {
     log.warn("can't get document info!", e);
   }
   try {
     String eventMessage = HistoryEventMessage.createJournalMessage(eventType, values);
     historyEventDao.setHistoryEvent(nID_Subject, eventType.getnID(), eventMessage, eventMessage);
   } catch (IOException e) {
     log.error("error during creating HistoryEvent", e);
   }
 }