Simplify "is assignment" check and move it to JetPsiUtil
Add construction of "return" and "if" expressions to JetPsiFactory
Add folding/unfolding operations for branched control structures
Replace intentions for folding/unfolding operations
Add tests for folding/unfolding operations
Extract method for assignment matching
Extract method for else branch check in when expression
Rename method
Move assertion out of if statement
Make predicate non-nullable
Add @NotNull annotation to factory methods
Remove redundant tests
Add support of comments in asymmetric returns
Add assertion messages
Fix intention descriptions and templates
Replace fold/unfold intentions with a set of specialized ones
Add tests for unfolding to 'when'
Fix bug in assignment-to-when unfolding
Minimize update operations on active PSI and move them to the last phase
Make intentions inner classes