Can't save object in geopoint and geopoint in object in iOS SDK

Please, let me know if my explanation is not good, I will try to say it in different words.
At first in metadata of existing geopoint I set the field bannerData and put my custom data object AdBanner as a value, so now in geopoint I have:

METADATA:{
 bannerData = "<AdBanner: 0x156f4350>";
 enterpriceName = "\U0421\U0448 12";
 enterpriseType = 0;
 foursquareCategoryID = 4bf58dd8d48988d13d941735;
 foursquareCategoryImageEnd = ".png";
 foursquareCategoryImageStart = "https://ss3.4sqi.net/img/categories_v2/building/school_";
 foursquareCategoryName = "\U0428\U043a\U043e\U043b\U0430 \U0441\U0442\U0430\U0440\U0448\U0438\U0445 \U043a\U043b\U0430\U0441\U0441\U043e\U0432";
 foursquareID = 51010177e4b0b3198e5aced6;
 lastUpdate = "23-05-2015 22:10:07 +0300";
 objectId = "8E6DE54C-9450-682C-FFD5-C901692E9700";
} objectId = 8E6DE54C-9450-682C-FFD5-C901692E9700

Then I save this geopoint.
In class AdAgent I have the property @property (strong, nonatomic) GeoPoint *geoPoint;
So after I save the geopoint, I put this geopoint as the value of the property geoPoint (adBanner.geoPoint = savedGeopoint),
After that I try to save this object adBanner (class AdBanner), but I get the error message:

message = java.lang.RuntimeException: java.lang.RuntimeException: java.lang.RuntimeException: java.lang.RuntimeException: java.lang.RuntimeException: java.lang.RuntimeException: java.lang.RuntimeException: java.lang.RuntimeException: java.lang.RuntimeException: java.lang.RuntimeException: java.lang.RuntimeException: java.lang.RuntimeException: java.lang.RuntimeException: java.lang.RuntimeException: java.lang.RuntimeException: java.lang.RuntimeException: java.lang.RuntimeException: java.lang.RuntimeException: java.lang.RuntimeException: java.lang.RuntimeException: java.lang.RuntimeException: java.lang.RuntimeException: java.lang.RuntimeException: java.lang.RuntimeException: java.lang.RuntimeException: java.lang.RuntimeException: java.lang.RuntimeException: java.lang.RuntimeException: java.lang.RuntimeException: java.lang.RuntimeException: java.lang.RuntimeException: java.lang.RuntimeException: java.lang.RuntimeException: java.lang.RuntimeException: java.lang.RuntimeException: java.lang.RuntimeException: java.lang.RuntimeException: java.lang.RuntimeException: java.lang.RuntimeException: java.lang.RuntimeException: java.lang.RuntimeException: java.lang.RuntimeException: java.lang.RuntimeException: java.lang.RuntimeException: java.lang.RuntimeException: java.lang.RuntimeException: java.lang.RuntimeException: java.lang.RuntimeException: java.lang.RuntimeException: java.lang.RuntimeException: java.lang.RuntimeException: java.lang.RuntimeException: java.lang.RuntimeException: java.lang.RuntimeException: java.lang.RuntimeException: java.lang.RuntimeException: java.lang.RuntimeException: java.lang.RuntimeException: java.lang.RuntimeException: java.lang.RuntimeException: java.lang.RuntimeException: java.lang.RuntimeException: java.lang.RuntimeException: java.lang.RuntimeException: java.lang.RuntimeException: java.lang.RuntimeException: java.lang.RuntimeException: java.lang.RuntimeException: java.lang.RuntimeException: java.lang.RuntimeException: java.lang.RuntimeException: java.lang.RuntimeException: java.lang.RuntimeException: java.lang.RuntimeException: java.lang.RuntimeException: java.lang.RuntimeException: java.lang.RuntimeException: java.lang.RuntimeException: java.lang.RuntimeException: java.lang.RuntimeException: java.lang.RuntimeException: java.lang.RuntimeException: java.lang.RuntimeException: java.lang.RuntimeException: java.lang.RuntimeException: java.lang.RuntimeException: java.lang.RuntimeException: java.lang.RuntimeException: java.lang.RuntimeException: java.lang.RuntimeException: java.lang.RuntimeException: java.lang.RuntimeException: java.lang.RuntimeException: java.lang.RuntimeException: java.lang.RuntimeException: java.lang.RuntimeException: java.lang.RuntimeException: java.lang.RuntimeException: java.lang.RuntimeException: java.lang.RuntimeException: java.lang.RuntimeException: java.lang.RuntimeException: java.lang.RuntimeException: java.lang.RuntimeException: java.lang.StackOverflowError, errorCode = Server.Processing

P.S. I get the same error message if I put geoPoint.metadata[@“bannerData”] = adBanner and adBanner.geoPoint = geoPoint. And after that I save only adBanner .
I want to have the reference to the object in geoPoint and vise versa: I want to get the reference to geoPoint in my data object. How can I do that?

Hi Pavel.
We know about this issue and it is already added to our roadmap. We will try to fix it in the next product version. Currently try to avoid cyclic relations between geo points and data objects.
Regards,
Kate.

Ok, thank you for quick answer