private Model.File GetComposedLookFile(string asset, FileConnectorBase connector)
 {
     int index = asset.LastIndexOf("/");
     Model.File file = new Model.File();
     string fileSrc = FixFileName(asset.Substring(index + 1));
     file.Src = (null != connector)?Path.Combine(connector.GetConnectionString(), fileSrc): fileSrc;
     file.Folder = asset.Substring(0, index);
     file.Overwrite = true;
     file.Security = null;
     return file;
 }
        //TODO: Candidate for cleanup
        private Model.File GetTemplateFile(Web web, string serverRelativeUrl, FileConnectorBase connector, TokenParser parser)
        {
            var webServerUrl = web.EnsureProperty(w => w.Url);
            var serverUri = new Uri(webServerUrl);
            var serverUrl = string.Format("{0}://{1}", serverUri.Scheme, serverUri.Authority);
            var fullUri = new Uri(UrlUtility.Combine(serverUrl, serverRelativeUrl));

            var folderPath = fullUri.Segments.Take(fullUri.Segments.Count() - 1).ToArray().Aggregate((i, x) => i + x).TrimEnd('/');
            var fileName = fullUri.Segments[fullUri.Segments.Count() - 1];

            var templateFile = new Model.File()
            {
                Folder = TokenizeUrl(folderPath, parser),
                Src = (null != connector) ? Path.Combine(connector.GetConnectionString(), fileName) : fileName,
                Overwrite = true,
            };

            return templateFile;
        }