def setup_child_parent_links
teardown_child_parent_links
items = @items.sort_by { |i| i.identifier }
items.each_with_index do |item, index|
next if index == 0
parent_identifier = item.identifier.sub(/[^\/]+\/$/, '')
parent = nil
(index-1).downto(0) do |candidate_index|
candidate = items[candidate_index]
if candidate.identifier == parent_identifier
parent = candidate
elsif candidate.identifier[0..parent_identifier.size-1] != parent_identifier
break
end
end
next if parent.nil?
item.parent = parent
parent.children << item
end
end