You are an expert in writing code in many different languages. Your goal is to perform code completion for the following code, keeping in mind the rest of the code and the file meta data.
    Metadata details:
    filename: bf_data.rs
    path of file: ./repos/dfir-toolkit/src/bin/evtx2bodyfile
    
    the code of the file until where you have to start completion: use std::collections::HashMap;

use anyhow::{anyhow, bail, Result};
use chrono::{DateTime, Utc};
use dfir_toolkit::common::bodyfile::{Bodyfile3Line, Modified};
use dfir_toolkit::es4forensics::{objects::WindowsEvent, TimelineObject};
use evtx::SerializedEvtxRecord;
use getset::{Getters, Setters};
use serde::Serialize;
use serde_json::{json, Value};

use crate::macros::from_json;

#[derive(Serialize, Getters, Setters)]
pub(crate) struct BfData<'a> {
    event_record_id: u64,
    timestamp: DateTime<Utc>,
    #[getset(get)]
    event_id: &'a Value,
    level: &'a Value,
    computer: &'a Value,
    provider_name: &'a Value,
    channel_name: &'a Value,
    activity_id: Option<&'
    
    fn try_from(record: &'a SerializedEvtxRecord<Value>) -> Result<Self, Self::Error> {
        let value = &record.data;
        let event = from_json!(value, "Event");
        let system = from_json!(event, "System");
        let event_id = {
            let event_id = from_json!(system, "EventID");
            match event_id.get("#text") {
                Some(eid) => eid,
                None => event_id,
            }
        };

        let level = from_json!(system, "Level");
        let computer = from_json!(system, "Computer");
        let provider_name = from_json!(system, "Provider", "#attributes", "Name");
        let channel_name = from_json!(system, "Channel");

        let activity_id = system
            .get("Correlation")
            .and_then(|c| c.get("#attributes"))
            .and_then(|c| c.get("ActivityId"));

        let mut custom_data = HashMap::new();
        if let Value::Object(contents) = event {
            for (key, value) in contents.iter() {
                if key != "System" && key != "#attributes" {
                    custom_data.insert(key, value);
                }
            }
        }

        Ok(Self {
            event_record_id: record.event_record_id,
            timestamp: record.timestamp,
            event_id,
            level,
            computer,
            provider_name,
            channel_name,
            activity_id,
            custom_data,
            enable_json_output: false,
        })
    }