docs: @Override
      public final Message execute(SendAudio sendAudio) throws TelegramApiException {
          assertParamNotNull(sendAudio, "sendAudio");
          sendAudio.validate();
          try {
              String url = getBaseUrl() + SendAudio.PATH;
              HttpPost httppost = configuredHttpPost(url);
              MultipartEntityBuilder builder = MultipartEntityBuilder.create();
              builder.setLaxMode();
              builder.setCharset(StandardCharsets.UTF_8);
              builder.addTextBody(SendAudio.CHATID_FIELD, sendAudio.getChatId(), TEXT_PLAIN_CONTENT_TYPE);
              addInputFile(builder, sendAudio.getAudio(), SendAudio.AUDIO_FIELD, true);
  
              if (sendAudio.getReplyMarkup() != null) {
                  builder.addTextBody(SendAudio.REPLYMARKUP_FIELD, objectMapper.writeValueAsString(sendAudio.getReplyMarkup()), TEXT_PLAIN_CONTENT_TYPE);
              }
              if (sendAudio.getReplyToMessageId() != null) {
                  builder.addTextBody(SendAudio.REPLYTOMESSAGEID_FIELD, sendAudio.getReplyToMessageId().toString(), TEXT_PLAIN_CONTENT_TYPE);
              }
              if (sendAudio.getPerformer() != null) {
                  builder.addTextBody(SendAudio.PERFOMER_FIELD, sendAudio.getPerformer(), TEXT_PLAIN_CONTENT_TYPE);
              }
              if (sendAudio.getTitle() != null) {
                  builder.addTextBody(SendAudio.TITLE_FIELD, sendAudio.getTitle(), TEXT_PLAIN_CONTENT_TYPE);
              }
              if(sendAudio.getDuration() != null){
                  builder.addTextBody(SendAudio.DURATION_FIELD, sendAudio.getDuration().toString(), TEXT_PLAIN_CONTENT_TYPE);
              }
              if (sendAudio.getDisableNotification() != null) {
                  builder.addTextBody(SendAudio.DISABLENOTIFICATION_FIELD, sendAudio.getDisableNotification().toString(), TEXT_PLAIN_CONTENT_TYPE);
              }
              if (sendAudio.getCaption() != null) {
                  builder.addTextBody(SendAudio.CAPTION_FIELD, sendAudio.getCaption(), TEXT_PLAIN_CONTENT_TYPE);
                  if (sendAudio.getParseMode() != null) {
                      builder.addTextBody(SendAudio.PARSEMODE_FIELD, sendAudio.getParseMode(), TEXT_PLAIN_CONTENT_TYPE);
                  }
              }
              if (sendAudio.getThumb() != null) {
                  addInputFile(builder, sendAudio.getThumb(), SendAudio.THUMB_FIELD, false);
                  builder.addTextBody(SendAudio.THUMB_FIELD, sendAudio.getThumb().getAttachName(), TEXT_PLAIN_CONTENT_TYPE);
              }
  
              HttpEntity multipart = builder.build();
              httppost.setEntity(multipart);
  
  
              return sendAudio.deserializeResponse(sendHttpPostRequest(httppost));
          } catch (IOException e) {
              throw new TelegramApiException("Unable to send sticker", e);
          }
      }