public Document UploadSmallDocument(byte[] inputDocumentBytes, string itemPath, string userId)
        {
            try
            {
                MemoryStream memStream = new MemoryStream(inputDocumentBytes);

                var urlRoot     = $"https://graph.microsoft.com/v1.0/";
                var url         = $"{urlRoot}/users/{userId}/drive/root:/{itemPath}:/content";
                var byteContent = new ByteArrayContent(inputDocumentBytes);
                byteContent.Headers.ContentType = new MediaTypeHeaderValue("text/plain");
                var response     = _restClient.putResponse(url, byteContent);
                var responseBody = response.Content.ReadAsStringAsync().ConfigureAwait(false).GetAwaiter().GetResult();
                if ((response.StatusCode != HttpStatusCode.Created) && (response.StatusCode != HttpStatusCode.OK))
                {
                    throw new Exception(responseBody);
                }
                var document = JsonConvert.DeserializeObject <Document>(responseBody);
                return(document);
            }
            catch (ServiceException ex)
            {
                Console.Error.WriteLine(ex);
            }

            return(null);
        }