internal void ResetSurfaceNames(IMap map)
{
// keep the current selection if it's still valid
var tempName = SelectedSurfaceName;
SurfaceLayerNames.Clear();
foreach (var name in GetSurfaceNamesFromMap(map, (this.GetType() == typeof(LLOSViewModel)) ? true : false))
SurfaceLayerNames.Add(name);
if (SurfaceLayerNames.Contains(tempName))
SelectedSurfaceName = tempName;
else if (SurfaceLayerNames.Any())
SelectedSurfaceName = SurfaceLayerNames[0];
else
SelectedSurfaceName = string.Empty;
RaisePropertyChanged(() => SelectedSurfaceName);
}