re-adding files for comments

1) Excercise goal compliance: partially compliant
The code complies with the contract specified, if we adhere to the ruleset in the example that describes the first excercise: '... a random poem generator using the following grammatical rules...'. Nevertheless, the actual excercise text, excercise No. 1, clearly states that this program should be such that it ''...parses the grammatical rules from a text file, then uses the parsed data to generate a random poem...'.

This implies a code that is able to read a text file using the symbols and keywords as in the example, and such file should be interpreted to extract not only the list of words by word function, but also the rules to combine those into valid poem lines.

Then, the code does not comply with the goal proposed, although it provides a limited version to generate poems only by using the rules shown in the example. No other rules can be specified without modifying the source code and then recompiling it to generate a new executable.

2) Code clarity: clear and structured code
In general, the coding practices are good, and the naming is accurate and semantically coherent.

3) Code documentation: sufficient, standard compliant, and sometimes more than necessary

4) Type safety, access modifiers and reuse: Demonstrates good knowledge.

This comment is common to all subclasses of PoemFragment.java: package (default) access modifier works here, it is usually not recommended at class level. And yet I see no point other than showing you understand how it works.