bug fix: dealing with empty text node in formatter.cleanNode