кто-нибудь может объяснить, почему для очистки достаточно удалить только правый узел??? а как насчет левого?
public void clear() {
        header.right = EMPTY;
}