public (IEnumerable <GameTempObject>, GameTempInterior) InitGameTempObjectsAndInteriors(Estate estate,
                                                                                                PremiumFile premiumFile)
        {
            var(gameTempObjectsElements, gameTempInteriorsElements) = (
                xmlReader.GetDescendantNodes($"{filesManager.WebRootPath}{premiumFile.Path}",
                                             (node) => node.Name.LocalName.Equals("object")),
                xmlReader.GetDescendantNodes($"{filesManager.WebRootPath}{premiumFile.Path}",
                                             (node) => node.Name.LocalName.Equals("marker")));

            int gameTempObjectsCount = gameTempObjectsElements.Count();

            if (gameTempObjectsCount > Constants.MaximumTempObjectsCount)
            {
                filesManager.Delete(premiumFile.Path);

                throw new ServerException(
                          $"Maximum game temp objects count is: {Constants.MaximumTempObjectsCount}. Your interior file has: {gameTempObjectsCount}");
            }

            return(
                TempObjectsAndInteriorsUtils.ConvertXElementsToTempObjects(gameTempObjectsElements, estate.Id,
                                                                           estate.InteriorId,
                                                                           httpContextReader.CurrentUsername),
                TempObjectsAndInteriorsUtils.ConvertXElementsToTempInterior(gameTempInteriorsElements, estate.Id,
                                                                            estate.InteriorId, httpContextReader.CurrentUserId));
        }