/// <summary>
        /// Returns the content of specified file
        /// </summary>
        /// <param name="itemPath"></param>
        /// <returns></returns>
        public async System.Threading.Tasks.Task <byte[]> GetResourceContents(string itemPath)
        {
            TrustedUserHeader header = new TrustedUserHeader();

            return(await System.Threading.Tasks.Task.Factory.FromAsync <byte[]>(
                       _service.BeginGetItemDefinition(header, itemPath, null, null),
                       (ar) =>
            {
                byte[] data;
                _service.EndGetItemDefinition(ar, out data);
                return data;
            }));
        }