☕

Extra

import java.io.PrintStream;

public class Main {

	public static void main(String[] args) {
		Lothar lothar = LotharFactory.newInstance();
		lothar.printName();
	}
	
	private class Lothar {
    
		private String fullName;

		protected Lothar(String fullName) {
			this.fullName = fullName;
		}		
		
		public Lothar() {
			this("Lothar von Trotha");
		}

		protected void printName(PrintStream stream) {
			stream.println(fullName);
		}
		
		public void printName() {
			PrintStream printStream = System.out;
			printName(printStream);
		}
	}

  private class LotharFactory {
    public static Lothar newInstance() {
      return new Lothar();
    }
  }
}