def _get_imports_h(self, data_types):
if not isinstance(data_types, list):<EOL><INDENT>data_types = [data_types]<EOL><DEDENT>import_classes = []<EOL>for data_type in data_types:<EOL><INDENT>if is_user_defined_type(data_type):<EOL><INDENT>import_classes.append(fmt_class_prefix(data_type))<EOL><DEDENT>for field in data_type.all_fields:<EOL><INDENT>data_type, _ = unwrap_nullable(field.data_type)<EOL>while is_list_type(data_type) or is_map_type(data_type):<EOL><INDENT>data_type = (data_type.value_data_type if<EOL>is_map_type(data_type) else data_type.data_type)<EOL><DEDENT>if is_user_defined_type(data_type):<EOL><INDENT>import_classes.append(fmt_class_prefix(data_type))<EOL><DEDENT><DEDENT><DEDENT>import_classes = list(set(import_classes))<EOL>import_classes.sort()<EOL>return import_classes<EOL>
Emits all necessary header file imports for the given Stone data type.