Several changes to support optional patternelements, refactore suggestionbuilder
Added rule 129