@Override public void addListener(ChangeListener<? super String> listener) { binding.addListener(listener); }
@Override public void addListener(InvalidationListener listener) { binding.addListener(listener); }
@Override public void addListener(ChangeListener<? super T> listener) { getDelegate().addListener(listener); }
@Override public void addListener(InvalidationListener listener) { getDelegate().addListener(listener); }
@Override public void addListener(ChangeListener<? super T> listener) { if (listener instanceof UIThreadAware) { getDelegate().addListener(listener); } else { getDelegate().addListener(new UIThreadAwareChangeListener<>(listener)); } }
@Override public void addListener(InvalidationListener listener) { if (listener instanceof UIThreadAware) { getDelegate().addListener(listener); } else { getDelegate().addListener(new UIThreadAwareInvalidationListener(listener)); } }