{"ast_node_type":"other","tokens":[{"end":94,"kind":"keyword","start":0,"text":"components.retain(|c|"}]}
    components.retain(|c| OPTIONAL_COMPONENTS.contains(c) || REQUIRED_COMPONENTS.contains(c));
    let mut components = components.split_whitespace().collect::<Vec<_>>();