def METHOD_NAME(self, auto_schema, direction):
    sub_components = []
    for sub_serializer in self.target.serializers:
        sub_serializer = self._prep_serializer(sub_serializer)
        (resolved_name, resolved_schema) = self._process_serializer(auto_schema, sub_serializer, direction)
        if not resolved_schema:
            continue
        if not self._has_discriminator():
            sub_components.append((None, resolved_schema))
        else:
            try:
                discriminator_field = sub_serializer.fields[self.target.resource_type_field_name]
                resource_type = discriminator_field.to_representation(None)
            except:  # noqa: E722
                warn(
                    f'sub-serializer {resolved_name} of {self.target.component_name} '
                    f'must contain the discriminator field "{self.target.resource_type_field_name}". '
                    f'defaulting to sub-serializer name, but schema will likely not match the API.'
                )
                resource_type = resolved_name
            sub_components.append((resource_type, resolved_schema))
    return sub_components