Added javadocs, returned Sets rather than Lists where appropriate, fixed the logic on union method, and placed a throws EdgeRuleException on appropriate methods
added throws EdgeRuleException clause where appropriate
renamed to EdgeRuleException, and made it checked rather than unchecked
changed Lists to Sets where appropriate, added some javadocs, fixed broken logic in addEdge() and the main constructor, and added throws EdgeRuleException clauses where appropriate
made sortUsingValuesInMap method more readable, and improved its generics
edited and improved javadocs, added the init method, fixed the getMin and getMax (UsingValuesInMap) methods
added javadocs
added javadocs, improved generics, and added the addAllToCollMap and addToCollMap methods
removed null check
added javadoc