Начиная с JDK 1.4, можно указать кодировку символов для PrintStream. Таким образом, различия между PrintStream и PrintWriter связаны только с режимом автоматического сброса и что PrintStream не может обернуть Writer.
Существует свойство с именем LogicalChildrenInternal, которое отвечает за перечисление дочерних элементов каждого элемента. К сожалению, он является внутренним виртуальным и возвращает статическую пустую коллекцию, поэтому класс Element не подходит для прямого использования. В таких классах, как ViewCell и Layout, где это свойство переопределяется, вы можете заменить исходную коллекцию с помощью отражения и увидеть, что новый набор дочерних элементов отображается в макете.