Вы можете переопределить метод toString () класса объекта.Не стесняйтесь перебирать вложенные подэлементы и добавлять их toString () - ответ на возвращаемое значение, например:
@Override
public String toString()
{
String result = /* other properties from the class */
result += "[";
for (SubElementClass o in this.subElements)
{
result += String.Format("(%s)", o.toString());
}
result += "]";
return result;
}
Имеет смысл также переопределить метод toString () в SubElementClass.
Другой вариант - не переопределять метод toString, а добавить метод dump () в расширенный класс вашего исходного класса, который вы можете вызвать в шаблоне.