<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: Adding Graphic to GraphicsOverlay.Graphics throws ArgumentOutOfRangeException in .NET Maps SDK Questions</title>
    <link>https://community.esri.com/t5/net-maps-sdk-questions/adding-graphic-to-graphicsoverlay-graphics-throws/m-p/415262#M4961</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Yes, that is correct, while "at the same time" depends on timing. Based on my findings today, I added 700 graphics from one thread, and still got the same exception.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Fri, 30 Nov 2018 17:48:31 GMT</pubDate>
    <dc:creator>BjørnarSundsbø1</dc:creator>
    <dc:date>2018-11-30T17:48:31Z</dc:date>
    <item>
      <title>Adding Graphic to GraphicsOverlay.Graphics throws ArgumentOutOfRangeException</title>
      <link>https://community.esri.com/t5/net-maps-sdk-questions/adding-graphic-to-graphicsoverlay-graphics-throws/m-p/415259#M4958</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi.&lt;/P&gt;&lt;P&gt;I'm experiencing an interesting exception in my application. Unfortunately I do not have the opportunity to make a sample to recreate the problem right now. I'm first off looking for an answer to what is really going on, and how to solve. Or at least brainstorm a little.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Rough outline: Graphics are published&amp;nbsp;to a GraphicsProvider to add/update graphics in the maps. GraphicsObservers listen, and add to GraphicsOverlays.&amp;nbsp;This way all maps using the same GraphicsProvider will contain the same synchronized data.&amp;nbsp;My&amp;nbsp;MapGraphic hold some properties for routing for&amp;nbsp;which&amp;nbsp;GraphicsOverlay it belongs to.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Graphics are batch-published to the provider, but the internal routing will result in individual add operations to the GraphicsOverlay. In&amp;nbsp;previous versions of the API, there was an AddRange method available, but I chose not to use that at the time to reduce complexity as well as hoping that the performance lost through individual add was gained from not having to filter out the destinations for&amp;nbsp;AddRange&amp;nbsp;to work. In 100.4, the AddRange is not available.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I have started multiple tasks to retrieve and&amp;nbsp;publish data to the provider.&amp;nbsp;If I execute one task at the time (more or less), everything is ok most of the time. On the other hand, if I execute multiple simultaneous tasks, I get the exception below. For this scenario, the MapView, map, layers, etc have already been loaded and contains and display data. There is only one map&amp;nbsp;observing the data. I have also experienced the same exception if I only have one task.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;My suspicion is that the &lt;SPAN&gt;simultaneous&lt;SPAN&gt;&amp;nbsp; tasks experience conflicts with each other, and that perhaps&amp;nbsp;RuntimeCollection.ExecuteActionWithUndo&amp;nbsp;is unable to handle the load for some reason? All the operations in RuntimeCollection use lock(this.SyncRoot), so this is a bit beyond my understanding.&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;In the past I have experienced similar oddities, and in those cases it turned out it was related to exceptions occuring inside of the Queue class and it not being thread safe. Replacing with ConcurrentQue fixed our issue then. Could it be a similar situation going on with RuntimeCollection? While I can't really see how, considering SyncRoot is in use for all updates.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;System.ArgumentOutOfRangeException: Specified argument was out of the range of valid values.&lt;BR /&gt;Parameter name: index&lt;BR /&gt; at Esri.ArcGISRuntime.RuntimeCollection`1.InsertItem(Int32 index, T item)&lt;BR /&gt; at Esri.ArcGISRuntime.RuntimeObservableCollection`1.InsertItem(Int32 index, T item)&lt;BR /&gt; at Shared.Map.MultiLayerGraphicsOverlayWrapper.Shared.Map.IGraphicsReceiver.OnAdd(MapGraphic graphic) in C:\Source\Shared.Map.Core\GroupLayer\MultiLayerGraphicsOverlayWrapper.cs:line 106&lt;BR /&gt; at Shared.Map.GroupLayerGraphicsObserver.AddToChildLayer(MapGraphic target, MapGraphic source) in C:\Source\Shared.Map.Core\GraphicsProviders\GroupLayerGraphicsObserver.cs:line 109&lt;BR /&gt; at Shared.Map.GroupLayerGraphicsObserver.OnPublish(MapGraphic source) in C:\Source\Shared.Map.Core\GraphicsProviders\GroupLayerGraphicsObserver.cs:line 78&lt;BR /&gt; at Shared.Map.GraphicsProvider.PublishInternal(MapGraphic graphic) in C:\Source\Shared.Map.Core\GraphicsProviders\GraphicsProvider.cs:line 62&lt;BR /&gt; at Shared.Map.GraphicsProvider.Publish(MapGraphic[] items) in C:\Source\Shared.Map.Core\GraphicsProviders\GraphicsProvider.cs:line 33&lt;BR /&gt; at Shared.Map.GraphicsProvider.Publish(IMapObject[] items) in C:\Source\Shared.Map.Core\GraphicsProviders\GraphicsProvider.cs:line 21&lt;BR /&gt; at Client.Resource.ResourceViewModel.&amp;lt;AddListInternal&amp;gt;z__OriginalMethod(IEnumerable`1 items) in C:\Source\Client\src\Resource\ResourceViewModel.cs:line 428&lt;BR /&gt; at Client.Resource.ResourceViewModel.&amp;lt;AddListInternal&amp;gt;c__Binding.Invoke(Object&amp;amp; instance, Arguments arguments, Object aspectArgs) in :line 16707564&lt;BR /&gt; at Client.Resource.ResourceViewModel.AddListInternal(IEnumerable`1 items) in :line 123&lt;BR /&gt; at Client.Resource.ResourceViewModel.InitializeFromServer(Int32[] districtIds) in C:\Source\Client\src\Resource\ResourceViewModel.cs:line 105&lt;BR /&gt; at Client.Resource.ResourceViewModel.Subscribed(Int32 districtId) in C:\Source\Client\src\Resource\ResourceViewModel.cs:line 127&lt;BR /&gt; at Client.District.DistrictViewModel.&amp;lt;&amp;gt;c__DisplayClass15_0.&amp;lt;UpdateNotifierSubscriptions&amp;gt;b__0() in C:\Source\Client\src\District\DistrictViewModel.cs:line 66&lt;BR /&gt; at System.Threading.Tasks.Task.Execute()&lt;BR /&gt;--- End of stack trace from previous location where exception was thrown ---&lt;BR /&gt; at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()&lt;BR /&gt; at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)&lt;BR /&gt; at System.Runtime.CompilerServices.TaskAwaiter.GetResult()&lt;BR /&gt; at Client.District.DistrictViewModel.&amp;lt;UpdateNotifierSubscriptions&amp;gt;d__15.MoveNext() in C:\Source\Client\src\District\DistrictViewModel.cs:line 59&lt;BR /&gt;--- End of stack trace from previous location where exception was thrown ---&lt;BR /&gt; at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()&lt;BR /&gt; at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)&lt;BR /&gt; at System.Runtime.CompilerServices.TaskAwaiter.GetResult()&lt;BR /&gt; at Client.District.DistrictViewModel.&amp;lt;ToggleSelection&amp;gt;d__14.MoveNext() in C:\Source\Client\src\District\DistrictViewModel.cs:line 54&lt;BR /&gt;--- End of stack trace from previous location where exception was thrown ---&lt;BR /&gt; at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()&lt;BR /&gt; at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)&lt;BR /&gt; at System.Runtime.CompilerServices.TaskAwaiter.GetResult()&lt;BR /&gt; at Client.District.DistrictViewModel.&amp;lt;OnUpdateRouting&amp;gt;d__13.MoveNext() in C:\Source\Client\src\District\DistrictViewModel.cs:line 48&lt;BR /&gt;--- End of stack trace from previous location where exception was thrown ---&lt;BR /&gt; at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()&lt;BR /&gt; at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)&lt;BR /&gt; at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler)&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 22 Nov 2018 15:17:21 GMT</pubDate>
      <guid>https://community.esri.com/t5/net-maps-sdk-questions/adding-graphic-to-graphicsoverlay-graphics-throws/m-p/415259#M4958</guid>
      <dc:creator>BjørnarSundsbø1</dc:creator>
      <dc:date>2018-11-22T15:17:21Z</dc:date>
    </item>
    <item>
      <title>Re: Adding Graphic to GraphicsOverlay.Graphics throws ArgumentOutOfRangeException</title>
      <link>https://community.esri.com/t5/net-maps-sdk-questions/adding-graphic-to-graphicsoverlay-graphics-throws/m-p/415260#M4959</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Anyone from ESRI who have any thoughts on this?&amp;nbsp;I've been too busy to&amp;nbsp;create a repro sample, but I can add the details that if I add too many items at the same time,&amp;nbsp;the issue appears to happen then too. I realize it might be tricky to give too much information without the ability to reproduce, but some pointers would be very helpful.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 30 Nov 2018 16:10:07 GMT</pubDate>
      <guid>https://community.esri.com/t5/net-maps-sdk-questions/adding-graphic-to-graphicsoverlay-graphics-throws/m-p/415260#M4959</guid>
      <dc:creator>BjørnarSundsbø1</dc:creator>
      <dc:date>2018-11-30T16:10:07Z</dc:date>
    </item>
    <item>
      <title>Re: Adding Graphic to GraphicsOverlay.Graphics throws ArgumentOutOfRangeException</title>
      <link>https://community.esri.com/t5/net-maps-sdk-questions/adding-graphic-to-graphicsoverlay-graphics-throws/m-p/415261#M4960</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Do I understand it correctly that you are updating the same graphics collection from multiple threads at the same time?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 30 Nov 2018 17:45:48 GMT</pubDate>
      <guid>https://community.esri.com/t5/net-maps-sdk-questions/adding-graphic-to-graphicsoverlay-graphics-throws/m-p/415261#M4960</guid>
      <dc:creator>dotMorten_esri</dc:creator>
      <dc:date>2018-11-30T17:45:48Z</dc:date>
    </item>
    <item>
      <title>Re: Adding Graphic to GraphicsOverlay.Graphics throws ArgumentOutOfRangeException</title>
      <link>https://community.esri.com/t5/net-maps-sdk-questions/adding-graphic-to-graphicsoverlay-graphics-throws/m-p/415262#M4961</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Yes, that is correct, while "at the same time" depends on timing. Based on my findings today, I added 700 graphics from one thread, and still got the same exception.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 30 Nov 2018 17:48:31 GMT</pubDate>
      <guid>https://community.esri.com/t5/net-maps-sdk-questions/adding-graphic-to-graphicsoverlay-graphics-throws/m-p/415262#M4961</guid>
      <dc:creator>BjørnarSundsbø1</dc:creator>
      <dc:date>2018-11-30T17:48:31Z</dc:date>
    </item>
    <item>
      <title>Re: Adding Graphic to GraphicsOverlay.Graphics throws ArgumentOutOfRangeException</title>
      <link>https://community.esri.com/t5/net-maps-sdk-questions/adding-graphic-to-graphicsoverlay-graphics-throws/m-p/415263#M4962</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I'm looking at the code, and it looks like the range-check is done outside the lock (You could argue that's a bug). So to make the answer simple: RuntimeCollection is not a thread-safe collection (at least at this point), so don't update it from multiple threads at the same time.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 30 Nov 2018 17:53:11 GMT</pubDate>
      <guid>https://community.esri.com/t5/net-maps-sdk-questions/adding-graphic-to-graphicsoverlay-graphics-throws/m-p/415263#M4962</guid>
      <dc:creator>dotMorten_esri</dc:creator>
      <dc:date>2018-11-30T17:53:11Z</dc:date>
    </item>
    <item>
      <title>Re: Adding Graphic to GraphicsOverlay.Graphics throws ArgumentOutOfRangeException</title>
      <link>https://community.esri.com/t5/net-maps-sdk-questions/adding-graphic-to-graphicsoverlay-graphics-throws/m-p/415264#M4963</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Oh, yeah. seems I missed that. That's embarrassing&amp;nbsp;&lt;IMG src="https://community.esri.com/legacyfs/online/emoticons/grin.png" /&gt;&amp;nbsp; Overworked brains don't work too well.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Should be a quick fix for the next version? I will see what I can do to either synchronize on my own end, or change threading until then. Thank you so much.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 30 Nov 2018 17:58:27 GMT</pubDate>
      <guid>https://community.esri.com/t5/net-maps-sdk-questions/adding-graphic-to-graphicsoverlay-graphics-throws/m-p/415264#M4963</guid>
      <dc:creator>BjørnarSundsbø1</dc:creator>
      <dc:date>2018-11-30T17:58:27Z</dc:date>
    </item>
    <item>
      <title>Re: Adding Graphic to GraphicsOverlay.Graphics throws ArgumentOutOfRangeException</title>
      <link>https://community.esri.com/t5/net-maps-sdk-questions/adding-graphic-to-graphicsoverlay-graphics-throws/m-p/415265#M4964</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;I can see this issue has not been addressed for 100.6, so I was just wondering if it is on the shortlist for the next version?&amp;nbsp;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 17 Sep 2019 19:21:15 GMT</pubDate>
      <guid>https://community.esri.com/t5/net-maps-sdk-questions/adding-graphic-to-graphicsoverlay-graphics-throws/m-p/415265#M4964</guid>
      <dc:creator>BjørnarSundsbø1</dc:creator>
      <dc:date>2019-09-17T19:21:15Z</dc:date>
    </item>
    <item>
      <title>Re: Adding Graphic to GraphicsOverlay.Graphics throws ArgumentOutOfRangeException</title>
      <link>https://community.esri.com/t5/net-maps-sdk-questions/adding-graphic-to-graphicsoverlay-graphics-throws/m-p/415266#M4965</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;If you don't need to insert graphics at a specific position, prefer to use the &lt;STRONG&gt;Add&lt;/STRONG&gt; method -- it appends to the end of the collection and doesn't require an index.&amp;nbsp;You will still need locking if you need to guarantee adding all items in one continuous block, to guard against concurrent modification.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Alternatively, you can use the new &lt;STRONG&gt;AddRange&lt;/STRONG&gt; method added in Runtime 100.6.0. It&amp;nbsp;does not require additional locking and always appends the new items in one continuous block. It's actually a little faster too.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;RuntimeCollection's&amp;nbsp;&lt;STRONG&gt;Insert&lt;/STRONG&gt;&amp;nbsp;method is only thread-safe in a sense that it will not corrupt internal state of the collection. However if you are inserting&amp;nbsp;multiple items in a loop &lt;SPAN&gt;--&amp;nbsp;&lt;/SPAN&gt;or if you are relying on collection's &lt;STRONG&gt;Count&lt;/STRONG&gt; to calculate the insertion index&amp;nbsp;-- then you need to guard against concurrent modification. For example, you&amp;nbsp;can lock on its SyncRoot&amp;nbsp;until you are done adding the whole batch of Graphics:&lt;/P&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;&lt;CODE&gt;&lt;SPAN class="keyword token"&gt;var&lt;/SPAN&gt; graphicsCollection &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; yourOverlay&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;Graphics&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
&lt;SPAN class="keyword token"&gt;lock&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;ICollection&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;graphicsCollection&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;SyncRoot&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;
&lt;SPAN class="punctuation token"&gt;{&lt;/SPAN&gt;
    &lt;SPAN class="keyword token"&gt;for&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="keyword token"&gt;int&lt;/SPAN&gt; i&lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt;&lt;SPAN class="number token"&gt;0&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt; i&lt;SPAN class="operator token"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN class="number token"&gt;999&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt; i&lt;SPAN class="operator token"&gt;++&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;{&lt;/SPAN&gt;
        &lt;SPAN class="keyword token"&gt;int&lt;/SPAN&gt; myIndex &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; graphicsCollection&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;Count&lt;SPAN class="operator token"&gt;/&lt;/SPAN&gt;&lt;SPAN class="number token"&gt;2&lt;/SPAN&gt; &lt;SPAN class="operator token"&gt;+&lt;/SPAN&gt; i&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt; &lt;SPAN class="comment token"&gt;// as an example&lt;/SPAN&gt;
        graphicsCollection&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;&lt;SPAN class="token function"&gt;Insert&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;myIndex&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="keyword token"&gt;new&lt;/SPAN&gt; &lt;SPAN class="token class-name"&gt;Graphic&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
    &lt;SPAN class="punctuation token"&gt;}&lt;/SPAN&gt;
&lt;SPAN class="punctuation token"&gt;}&lt;/SPAN&gt;‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 11 Dec 2021 18:49:18 GMT</pubDate>
      <guid>https://community.esri.com/t5/net-maps-sdk-questions/adding-graphic-to-graphicsoverlay-graphics-throws/m-p/415266#M4965</guid>
      <dc:creator>MatveiStefarov</dc:creator>
      <dc:date>2021-12-11T18:49:18Z</dc:date>
    </item>
    <item>
      <title>Re: Adding Graphic to GraphicsOverlay.Graphics throws ArgumentOutOfRangeException</title>
      <link>https://community.esri.com/t5/net-maps-sdk-questions/adding-graphic-to-graphicsoverlay-graphics-throws/m-p/415267#M4966</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thanks. I've already worked around the issue with my own locking, but I was hoping&amp;nbsp;to reduce some additional locking and complexity in my own code.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;But I'm glad to hear the AddRange method is back &lt;IMG src="https://community.esri.com/legacyfs/online/emoticons/happy.png" /&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 18 Sep 2019 08:19:15 GMT</pubDate>
      <guid>https://community.esri.com/t5/net-maps-sdk-questions/adding-graphic-to-graphicsoverlay-graphics-throws/m-p/415267#M4966</guid>
      <dc:creator>BjørnarSundsbø1</dc:creator>
      <dc:date>2019-09-18T08:19:15Z</dc:date>
    </item>
  </channel>
</rss>

