def _allow_join(statement):
    """
    Tests if a join should be suggested

    We need this to avoid bad suggestions when entering e.g.
        select * from tbl1 a join tbl2 b <cursor>
    So check that the preceding token is a JOIN keyword

    :param statement: an sqlparse.sql.Statement
    :return: boolean
    """
    if not statement or not statement.tokens:
        return False
    last_tok = statement.token_prev(len(statement.tokens))[1]
    return last_tok.value.lower().endswith('join') and last_tok.value.lower(
        ) not in ('cross join', 'natural join')
