@startuml
start
:User executes add multiple choice question command;
:QuickCache parses the input from user;

'Since the beta syntax does not support placing the condition outside the
'diamond we place it as the true branch instead.
if() then ([Successfully parsed])
    if () then ([flashcard already exists])
        :Throw CommandException;
        :Pass the CommandException to the UI;
    else ([else])
        : Model add flashcard to the list;
        :Pass the result to the UI;
    endif
else ([else])
    :Throw ParseException;
    :Pass the ParseException to the UI;
endif

:UI displays results to User;
stop
@enduml
