private void UpdateNavigationControls(int? parentFolderId)
        {
            if (parentFolderId.HasValue && parentFolderId.Value < 1)
            {
                parentFolderId = null;
            }

            DocumentsExchangeModuleController moduleController =
                new DocumentsExchangeModuleController();

            lstFolders.DataSource = moduleController.GetFolders(parentFolderId);
            lstFolders.DataBind();

            lstFiles.DataSource = moduleController.GetFiles(parentFolderId);
            lstFiles.DataBind();

            List<int?> foldersTrace = ViewState[FOLDERS_TRACE] as List<int?> ??
                            new List<int?>();

            if (!foldersTrace.Contains(parentFolderId))
            {
                foldersTrace.Add(parentFolderId);
            }
            else
            {
                if (foldersTrace.IndexOf(parentFolderId) < foldersTrace.Count - 1)
                {
                    foldersTrace.RemoveRange(foldersTrace.IndexOf(parentFolderId) + 1,
                        foldersTrace.Count - 1 - foldersTrace.IndexOf(parentFolderId));
                }
            }

            ViewState[FOLDERS_TRACE] = foldersTrace;

            StringBuilder foldersTraceString = new StringBuilder();
            foreach (var folderId in foldersTrace)
            {
                foldersTraceString.Append(folderId.HasValue
                                              ? String.Format(">{0}", folderId.Value)
                                              : String.Format("{0}", "ROOT"));
            }
            lblFoldersTrace.Text = foldersTraceString.ToString();

            UpdateUpButtonVisibility();
        }