package live; import listeners.DummyListenerHandle; import listeners.ListenerHandle; import zsynthetic.FunctionTTToVoid; public final class ImmutableLiveObject implements LiveObject { public final T value; public ImmutableLiveObject(T value) { this.value = value; } @Override public ListenerHandle> addListener(FunctionTTToVoid listener) { return new DummyListenerHandle>(listener); } public T getValue() { return value; } }