Do not transform locations more than once.  Do not submit new volume positions for locations which have been toggled to a non-default volume transform and back to the default transform.
Make sure Defaults are loaded from VikingXML before launching threads which may race with setting those defaults
Don't check contains function twice when debugging.  It is very slow.
Slight optimization for a function that was showing up in the profiler.
Fixed bug where parents were loading individually by the accessor instead of as a batch in a single call
Mitgated a very rare exception where the device was lost.
Send LoadSectionAnnotations through the same path regardless of input trigger.
Save the parent to mitigate the behavior of Location.Parent accessor which allocates a structure every time.  A more thorough fix is being tested.
Factored out a function to get unique items from a list.
Switched refresh to invalidate.  The Paint operation does not need to happen immediately when sections are switched.
Add sanity check to texture allocation
Lock structure links observable collection when making any changes.
Cache the parent property of the location object
Lock the registration/unregistration of events
Use the new NumLinks property of structure objects
Ensure lists are populated on the UI thread when events arrive
Minor fixes suggested by code analysis
Minor fixes suggested by code analysis
Ensure StructureTypes tree is modified on the UI thread.
Changes recommended by MSVS Code Analysis
Replaced parameter name that matched member name
Add support for specifying the starting section in the VikingXML
WCFObjectBase does not need to implement IDispose
Reverted how links are added to locations.