Made degenerate check optional for addSite()