class Concurrent::IVar

def ns_initialize(value, opts)

@!visibility private
def ns_initialize(value, opts)
  value = yield if block_given?
  init_obligation
  self.observers = Collection::CopyOnWriteObserverSet.new
  set_deref_options(opts)
  @state = :pending
  if value != NULL
    ns_complete_without_notification(true, value, nil)
  end
end