void UpdateDataDirectories() { var ddList = this.optionalHeader.DataDirectories ?? new DataDirectory[] { }; while (this.DataDirectories.Count > ddList.Length) { var removeDD = this.DataDirectories[this.DataDirectories.Count - 1]; this.coreDataDirectories.Remove(removeDD); } while (this.DataDirectories.Count < ddList.Length) { var newDD = new DataDirectoryModel(this.optionalHeader, (DataDirectoryKind)this.DataDirectories.Count); this.coreDataDirectories.Add(newDD); } }