code: public static synchronized GeoLocationManager getInstanceFor(XMPPConnection connection) {
          GeoLocationManager geoLocationManager = INSTANCES.get(connection);
          if (geoLocationManager == null) {
              geoLocationManager = new GeoLocationManager(connection);
              INSTANCES.put(connection, geoLocationManager);
          }
          return geoLocationManager;
      }
docs: Retrieves a {@link GeoLocationManager} for the specified {@link XMPPConnection}, creating one if it doesn't
  already exist.
  
  @param connection The connection the manager is attached to.
  @return The new or existing manager.