<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def publish_gsi_notification( table_key, gsi_key, message, message_types, subject=None):
 """ Publish a notification for a specific GSI :type table_key: str :param table_key: Table configuration option key name :type gsi_key: str :param gsi_key: Table configuration option key name :type message: str :param message: Message to send via SNS :type message_types: list :param message_types: List with types: - scale-up - scale-down - high-throughput-alarm - low-throughput-alarm :type subject: str :param subject: Subject to use for e-mail notifications :returns: None """

    topic = get_gsi_option(table_key, gsi_key, 'sns_topic_arn')
    if not topic:
        return

    for message_type in message_types:
        if (message_type in
                get_gsi_option(table_key, gsi_key, 'sns_message_types')):
            __publish(topic, message, subject)
            return