Reduced some code duplication in the ProtectedRegion hierarchy and made a public intersectsRegion method.