private void SaveDirectoryEntry(Dictionary <string, object> directoryEntryObject, DatabaseFile directoryEntry)
        {
            directoryEntryObject["Cluster"] = directoryEntry.Cluster;
            directoryEntryObject["Offset"]  = directoryEntry.Offset;

            /*
             * At this moment, I believe this will only be used for debugging.
             */
            directoryEntryObject["FileNameLength"] = directoryEntry.FileNameLength;
            directoryEntryObject["FileAttributes"] = (byte)directoryEntry.FileAttributes;
            directoryEntryObject["FileName"]       = directoryEntry.FileName;
            directoryEntryObject["FileNameBytes"]  = directoryEntry.FileNameBytes;
            directoryEntryObject["FirstCluster"]   = directoryEntry.FirstCluster;
            directoryEntryObject["FileSize"]       = directoryEntry.FileSize;
            directoryEntryObject["CreationTime"]   = directoryEntry.CreationTime.AsInteger();
            directoryEntryObject["LastWriteTime"]  = directoryEntry.LastWriteTime.AsInteger();
            directoryEntryObject["LastAccessTime"] = directoryEntry.LastAccessTime.AsInteger();

            if (directoryEntry.IsDirectory())
            {
                directoryEntryObject["Children"] = new List <Dictionary <string, object> >();
                var childrenList = directoryEntryObject["Children"] as List <Dictionary <string, object> >;
                foreach (var child in directoryEntry.Children)
                {
                    var childObject = new Dictionary <string, object>();
                    childrenList.Add(childObject);
                    SaveDirectoryEntry(childObject, child);
                }
            }

            directoryEntryObject["Clusters"] = directoryEntry.ClusterChain;
        }