private void createItem(Instruction instr, DatabaseCore databaseCore) {
    Map<String, Object> data = instr.getData();
    ModifiableItem item =
        databaseCore
            .getDataFactory()
            .createItem(
                instr.getTarget(),
                data.getOrDefault("date", "").toString(),
                data.getOrDefault("name", "").toString(),
                data.getOrDefault("data", "").toString());

    if (data.containsKey("tags")) item.addTags(parseTags(data.get("tags"), databaseCore));

    databaseCore.addItem(item);
  }
  private void createTag(Instruction instr, DatabaseCore databaseCore) {
    Map<String, Object> data = instr.getData();
    ModifiableTag tag =
        databaseCore
            .getDataFactory()
            .createTag(instr.getTarget(), data.getOrDefault("name", "").toString());

    ModifiableTag parent;

    if (data.containsKey("parent")) { // explicitně uvedeno
      int parentID = (int) data.get("parent");
      parent = databaseCore.getTagChecked(parentID);

    } else { // výchozí - ROOT
      parent = databaseCore.getRootTag();
    }

    tag.setParent(parent);
    parent.addChild(tag);

    databaseCore.addTag(tag);
  }