private static JObject GetCacheFile(CacheFile cacheFile)
        {
            var json = new JObject();

            json[VersionProperty]    = WriteInt(cacheFile.Version);
            json[DGSpecHashProperty] = WriteString(cacheFile.DgSpecHash);
            json[SuccessProperty]    = WriteBool(cacheFile.Success);

            if (cacheFile.Version >= 2)
            {
                json[ProjectFilePathProperty]      = cacheFile.ProjectFilePath;
                json[ExpectedPackageFilesProperty] = new JArray(cacheFile.ExpectedPackageFilePaths);
                json[LockFileFormat.LogsProperty]  = cacheFile.LogMessages == null ? new JArray() : LockFileFormat.WriteLogMessages(cacheFile.LogMessages, cacheFile.ProjectFilePath);
            }

            return(json);
        }