Ваша проблема в том, что вы застряли, думая, что каждый объект в связанном списке должен указывать на следующий (и, возможно, предыдущий) объект. Это не совсем верно. Что вам нужно сделать, это создать связанный список объектов, которые просто содержат другие объекты. Поэтому вместо того, чтобы пытаться выяснить, как изменить Существо, чтобы оно имело указатели, просто создайте связанный список универсальных объектов ListEntry, каждый из которых имеет ссылку (и) на другие ListEntrys и может также содержать некоторые для указания (универсальный тип T. Снаружи оно будет действовать так, как будто каждое Существо имеет ссылку (и) на других, но изнутри вы будете знать, что каждое Существо просто переносится объектом ListEntry. Это одна из вещей, которую они имеют в виду, когда говорят о инкапсуляции.
Кстати, именно так это и делается в платформе Java Collections.