void UpdateName(ProcessMemoryAccessor accessor) { if (accessor == null) { throw new ArgumentNullException("accessor"); } string name = null; if (version != null && version.ContainsVariable(CharacterNameKey)) { Debug.WriteLine($"Updating character name (pid={accessor.ProcessId})..."); Stream stream = null; try { stream = accessor.GetStream(); using (var reader = new BinaryReader(stream, Encoding.ASCII)) { stream = null; var nameVariable = version.GetVariable(CharacterNameKey); nameVariable.TryReadString(reader, out name); } } finally { stream?.Dispose(); } Debug.WriteLine($"CharacterName = {name}"); } if (!string.IsNullOrWhiteSpace(name)) { Name = name; } }