@SuppressWarnings({"rawtypes", "unchecked"}) private static boolean addTextIntern(ArrayList list, int index, AstStringNode text) { if (text.getContent().isEmpty()) { return false; } else { if (index > 0 && !text.hasAttributes()) { AstNode prev = (AstNode) list.get(index - 1); if (prev.getNodeType() == AstNode.NT_TEXT && !prev.hasAttributes()) { try { list.set(index - 1, mergeTextNodes((AstStringNode) prev, text)); return true; } catch (CloneNotSupportedException e) { // Just add, don't merge } } } list.add(index, text); return true; } }