           var objProp:* = obj[ item.localName ];
 
           if( objProp != null && (!ObjectUtil.isSimple( objProp ) || objProp is Array) )
-            targetObject[ item.localName ] = prepareArgForSend( objProp );
+            targetObject[ item.localName ] = prepareArgForSend( objProp, context );
           else
             targetObject[ item.localName ] = objProp;
         }


  public class Utils
  {
    public static function prepareArgForSend( obj:Object ):Object
    {
      if( obj is BackendlessGeoQuery || obj is ArrayCollection || obj is GeoPoint || obj is GeoCluster )
      {
        return obj;
      }
      else if( obj is Array )
      {
        for( var prop:* in obj )
          obj[ prop ] = prepareArgForSend( obj[ prop ] );

        return obj;
      }
      else if( obj is BackendlessCollection )
      {

      else if( !ObjectUtil.isSimple( obj ) && !(obj is ByteArray))
      {
        var targetObject:Object = {};
        context[ obj ] = targetObject;
        var objInfo:Object = ObjectUtil.getClassInfo( obj );

        //var xDesc:XML = describeType( Object( obj ).constructor );
