<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def _format_snapshots(snapshots: List[icontract._Snapshot], prefix: Optional[str] = None) -> List[str]: """ Format snapshots as reST. :param snapshots: snapshots defined to capture the argument values of a function before the invocation :param prefix: prefix to be prepended to ``:OLD:`` directive :return: list of lines describing the snapshots """

    if not snapshots:
        return []

    result = []  # type: List[str]

    if prefix is not None:
        result.append(":{} OLD:".format(prefix))
    else:
        result.append(":OLD:")

    for snapshot in snapshots:
        text = _capture_as_text(capture=snapshot.capture)
        result.append("    * :code:`.{}` = :code:`{}`".format(snapshot.name, text))

    return result