Since this is on the MultiPolygon object do we need to be checking what the type is? this goes for all the other places? Would it be possible to dry this code up?