Part 9: Re-implement sub resources

HashSet uses hashCode, but TreeSet uses comparable. I don't think Guice would use a sorted set though.