async fn fill_variable_values(
variables: Vec<VariableRef>,
item_info: Arc<HashMap<VariableRef, CxxrtlItem>>,
data: Vec<CxxrtlSample>,
variable_values: Arc<RwLock<BTreeMap<BigInt, HashMap<VariableRef, VariableValue>>>>,
msg_sender: Sender<Message>,
)