<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def are_related(env, source, target, relationships):
 """ Returns ``True`` if ``source`` and ``target`` items are related according a list, ``relationships``, of relationship types. ``False`` is returned otherwise If the list of relationship types is empty, all available relationship types are to be considered. """

    if not relationships:
        relationships = list(env.relationships.keys())

    for rel in relationships:
        if (target in env.traceability_all_items[source][rel] or
            source in
                env.traceability_all_items[target][env.relationships[rel]]):
            return True

    return False