<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:

def of(fixture_classes: Iterable[type], context: Union[None, 'torment.TestContext'] = None) -> Iterable['torment.fixtures.Fixture']:
    '''Obtain all Fixture objects of the provided classes.

    **Parameters**

    :``fixture_classes``: classes inheriting from ``torment.fixtures.Fixture``
    :``context``:         a ``torment.TestContext`` to initialize Fixtures with

    **Return Value(s)**

    Instantiated ``torment.fixtures.Fixture`` objects for each individual
    fixture class that inherits from one of the provided classes.

    '''

    classes = list(copy.copy(fixture_classes))
    fixtures = []  # type: Iterable[torment.fixtures.Fixture]

    while len(classes):
        current = classes.pop()
        subclasses = current.__subclasses__()

        if len(subclasses):
            classes.extend(subclasses)
        elif current not in fixture_classes:
            fixtures.append(current(context))

    return fixtures