Run the Word-inspired project. Select the one whole paragraph, right below the Overview header, but so that caret is at the beginning of the next paragraph. Change text alignment to Justify. Then try to change text alignment to Left. It will not turn back to Left. Probable reason is that caret is at beginning of the next paragraph whose alignment is Left, so app thinks it should change it to Justify instead. This over-eagerness is described in forum thread ChangeParagraphTextAlignment is over-eager to change alignment. But in this case there is no workaround.
The solution is to set the value instead of toggle it, like the Word does. If text alignment was Left then setting to Left should again set it to Left. Also, caret position should not change the outcome of the action. Only the contents of the selection is relevant in deciding if action can be safely skipped.