def METHOD_NAME(self, fields) -> Optional[List[FieldModel]]:
    """
    Recursively convert the parsed schema into required models
    """
    field_models = []
    for field in fields:
        try:
            field_models.append(
                FieldModel(
                    name=field.name,
                    dataType=ProtobufDataTypes(field.type).name,
                    children=self.METHOD_NAME(field.message_type.fields)
                    if field.type == 11
                    else None,
                )
            )
        except Exception as exc:  # pylint: disable=broad-except
            logger.debug(traceback.format_exc())
            logger.warning(
                f"Unable to parse the protobuf schema into models: {exc}"
            )
    return field_models