public async Task <CreateMessageResponse> CreateAsync(CreateAnnotationRequest request)
        {
            if (request == null)
            {
                throw new ArgumentNullException(nameof(request));
            }

            var response = await ExecutePostRequestAsync <CreateMessageResponse, CreateAnnotationRequest>("/api/annotations", null, request, _authentication);

            return(response);
        }
        public CreateMessageResponse Create(CreateAnnotationRequest request)
        {
            if (request == null)
            {
                throw new ArgumentNullException(nameof(request));
            }

            var task = Task.Run(() => CreateAsync(request));

            task.Wait();

            return(task.Result);
        }
        protected override void ProcessRecord()
        {
            base.ProcessRecord();
            CreateAnnotationRequest request;

            try
            {
                request = new CreateAnnotationRequest
                {
                    CreateAnnotationDetails = CreateAnnotationDetails,
                    OpcRetryToken           = OpcRetryToken,
                    OpcRequestId            = OpcRequestId
                };

                response = client.CreateAnnotation(request).GetAwaiter().GetResult();
                WriteOutput(response, response.Annotation);
                FinishProcessing(response);
            }
            catch (Exception ex)
            {
                TerminatingErrorDuringExecution(ex);
            }
        }