Added another static factory, and removed the redundant equals method (the AbstractMap's equals method should work fine)