Wielowierszowe ładne drukowanie (zagnieżdżonych) kolekcji w Javie

Chcę móc (ładnie) wydrukować zawartość moich map.

Powinny mieć znaki nowej linii i wcięcia zamiast pojedynczej linii; ignorując metody toString kolekcji / iterables / etc; i rekursywnie do zagnieżdżonych kolekcji.

Jest to szczególnie interesujące dla mnie w odniesieniu do map. Przypuszczam, że JSON może być istotny, ale nie chcę iść tak daleko, a przynajmniej - nie chcę, aby mój kod musiał wiedzieć o JSON tylko po to, żeby go ładnie wydrukować. Jakie są moje opcje (inne niż samodzielne pisanie)?

questionAnswers(4)

yourAnswerToTheQuestion