class ItemMapper {

    public Item mergeItem(PrimaryKey primaryKey, Item newItem, Item oldItem) {
        Item resultItem = new Item().withPrimaryKey(primaryKey);
        Set<String> visited = new HashSet<>();
        visited.add(CAMPAIGN_TABLE_HASH_KEY);
        visited.add(PERIOD_TABLE_RANGE_KEY);

        mergeOneWay(newItem, oldItem, resultItem, visited);
        mergeOneWay(oldItem, newItem, resultItem, visited);

        return resultItem;
    }

}