Imprimir árvore ternária em java

Criei uma árvore ternária que armazena dados do tipo char e através deles construo palavras(Strings). Para testar a eficácia dos métodos de adicionar, dentre outros métodos, teria que imprimir a árvore da seguinte maneira (OU ALGO PARECIDO):

                                    a
	|-------------------------------|--------------------------------|
	        b                                 c                                 d
|-----------|-----------|    |-----------|-----------|    |-----------|-----------|
e           f           g      h           i           j         l           m           n

Já tentei fazer o método para imprimir, mas deu uns pau bonito. Se alguém puder me ajudar eu ficaria muito agradecido.