def create_dict(breadcrumbs, value=None):
    """
    Created a dict out of the breadcrumbs in a recursive manner.
    each entry in the breadcrumb should be a valid dictionary key.
    If value is None, the last string within' the breadcrumbs becomes the
    final value.
    :param breadcrumbs:
    :param value:
    :return:
    """
    if value is not None:
        if not breadcrumbs:
            return value
    elif len(breadcrumbs) == 1:
            return breadcrumbs[0]
    return {breadcrumbs[0]: create_dict(breadcrumbs[1:], value)}