'Checks if the given flow can be started by the given user.
If the flow is to be started on a particular client, it\'s assumed that
CheckClientAccess passes on that client. If the flow is to be started
as a global flow, no additional checks will be made. See GRRFlow.StartFlow
implementation in lib/flow.py for details.
Args:
token: User credentials token.
flow_name: Name of the flow to check.
with_client_id: If True, the flow is supposed to be started on a
particular client. If False, flow is supposed to be
started as a global flow.
Returns:
True if access is allowed, raises otherwise.
Raises:
access_control.UnauthorizedAccess if access is rejected.'

def CheckIfCanStartFlow(self, token, flow_name, with_client_id=False):

    _ = with_client_id
    logging.debug('Checking    %s    for    flow    %s    access.', token, flow_name)
    raise NotImplementedError()
