public string RestoreAndPlay(AudioLogEntry logEntry, PlayData data) { var factory = GetFactoryFor(logEntry.AudioType); if (data.Resource == null) { AudioResource resource; RResultCode result = factory.GetResourceById(logEntry.ResourceId, logEntry.ResourceTitle, out resource); if (result != RResultCode.Success) return $"Could not restore ({result})"; data.Resource = resource; } return PostProcessStart(factory, data); }