protected <T> B setInstanceCallbackRef(Cb cbType, MethodRef<T, S> ref) { requiresNoCallbacks(); if (! m_autoConfigInvoked) m_autoConfig = false; List<MethodRef<Object, S>> list = m_refs.computeIfAbsent(cbType, l -> new ArrayList<>()); list.add((instance, component, sref, service) -> { ref.accept((T) component.getInstance(), component, sref, service); }); return (B) this; }
public <I> B setInstanceSwapCallbackRef(SwapMethodRef<I, S> ref) { requiresNoCallbacks(); if (! m_autoConfigInvoked) m_autoConfig = false; m_swapRefs.add((instance, component, oref, oservice, nref, nservice) -> { ref.accept((I) component.getInstance(), component, oref, oservice, nref, nservice); }); return (B) this; }