class Concurrent::JavaSingleThreadExecutor

@!visibility private
@!macro abstract_executor_service_public_api
@!macro single_thread_executor

def initialize(opts = {})

@!macro single_thread_executor_method_initialize
def initialize(opts = {})
  super(opts)
end

def ns_initialize(opts)

def ns_initialize(opts)
  @executor = java.util.concurrent.Executors.newSingleThreadExecutor(
      DaemonThreadFactory.new(ns_auto_terminate?)
  )
  @fallback_policy = opts.fetch(:fallback_policy, :discard)
  raise ArgumentError.new("#{@fallback_policy} is not a valid fallback policy") unless FALLBACK_POLICY_CLASSES.keys.include?(@fallback_policy)
end