А давайте выводить не в stdout, а либо в переданный OutputStream, либо возвращать String? Это поможет нам в дальнейшем.