you must call this or #mayberefresh , periodically , if you want that #acquire will return refreshed instances . threads : unlike #mayberefresh , if another thread is currently refreshing , this method blocks until that thread completes . it is useful if you want to guarantee that the next call to #acquire will return a refreshed instance . otherwise , consider using the non-blocking #mayberefresh . concode_field_sep String REFERENCE_MANAGER_IS_CLOSED_MSG concode_elem_sep G current concode_elem_sep Lock refreshLock concode_elem_sep List<RefreshListener> refreshListeners concode_field_sep boolean maybeRefresh concode_elem_sep void release concode_elem_sep void notifyRefreshListenersBefore concode_elem_sep void removeListener concode_elem_sep G acquire concode_elem_sep void doMaybeRefresh concode_elem_sep void afterMaybeRefresh concode_elem_sep void beforeRefresh concode_elem_sep void decRef concode_elem_sep void ensureOpen concode_elem_sep G refreshIfNeeded concode_elem_sep boolean tryIncRef concode_elem_sep void notifyRefreshListenersRefreshed concode_elem_sep void afterRefresh concode_elem_sep int getRefCount concode_elem_sep void close concode_elem_sep void afterClose concode_elem_sep void swapReference concode_elem_sep void addListener
void function ( ) { ensureOpen ( ) ; refreshLock . lock ( ) ; try { doMaybeRefresh ( ) ; } finally { refreshLock . unlock ( ) ; } }