class Concurrent::Promises::FlatFuturePromise

def initialize(delayed, blockers_count, levels, default_executor)

def initialize(delayed, blockers_count, levels, default_executor)
  raise ArgumentError, 'levels has to be higher than 0' if levels < 1
  # flat promise may result to a future having delayed futures, therefore we have to have empty stack
  # to be able to add new delayed futures
  super delayed || LockFreeStack.new, 1 + levels, Future.new(self, default_executor)
end