class Sus::Filter::Index

def [] key

def [] key
	@contexts[key]
end

def add(parent)

def add(parent)
	parent.children&.each do |identity, child|
		insert(identity, child)
		add(child)
	end
end

def initialize

def initialize
	@contexts = {}
end

def insert(identity, context)

def insert(identity, context)
	key = identity.key
	
	if existing_context = @contexts[key]
		raise KeyError, "Assigning context to existing key: #{key.inspect}!"
	else
		@contexts[key] = context
	end
end