String (PsiElement[] tagElements) { int predictOffset = tagElements.length > 0 ? tagElements[0].getTextOffset() + tagElements[0].getText().length() : 0; StringBuilder buffer = new StringBuilder(); for (PsiElement tagElement : tagElements) { if (tagElement.getTextOffset() > predictOffset) buffer.append(' '); predictOffset = tagElement.getTextOffset() + tagElement.getText().length(); collectElementText(buffer, tagElement); } return buffer.toString().trim(); }