package org.mkonrad.fizzbuzz;

import java.io.PrintStream;
import java.util.stream.IntStream;

/**
 * @author Markus Konrad
 */
public final class FizzBuzz {

	private final PrintStream printStream;

	public FizzBuzz(PrintStream printStream) {
		this.printStream = printStream;
	}

	public final void run(int numberOfRounds){
		if (numberOfRounds < 1) {
			printStream.println("Please specify a positive value for the parameter \"numberOfRounds\"");
			return;
		}
    IntStream.range(1, numberOfRounds + 1)
      .mapToObj(i ->	{
        if (i % 3 == 0) {
          if (i % 5 == 0) {
            return "FizzBuzz";
          }
          return "Fizz";
        }
        if (i % 5 == 0) {
          return "Buzz";
        }
        return String.valueOf(i);
      })
      .forEach(printStream::println);
	}

	public static void main(String[] args) {
		new FizzBuzz(System.out).run(100);
	}
}

@@ -92,16 +92,195 @@
 m;%0A%0A/**%0A
+ * Simple implementation of the Fizz Buzz game. See the README.md or the%0A * %3Ca href=%22https://en.wikipedia.org/wiki/Fizz_buzz%22%3EWikipedia page%3C/a%3E on Fizz Buzz for more details.%0A *%0A
  * @auth
@@ -450,24 +450,167 @@
 Stream;%0A%09%7D%0A%0A
+  /**%0A   * Start a new game with the given maximum number of rounds.%0A   *%0A   * @param numberOfRounds the number of rounds the game lasts%0A   */%0A
 %09public fina
@@ -639,16 +639,17 @@
 fRounds)
+ 
 %7B%0A%09%09if (

Add a little documentation