These methods share a lot of code, and the logic feels convoluted. Would it be cleaner to write methods for location -> locator and locator -> location, and then just switch between those based on the store.reference type and the type of the incoming reference?