added 'lazy' modifier to finish and subs and slightly refactored ParsingRepeat