code: public static List<Event> parse(String requestBody, String signatureHeader,
              String webhookEndpointSecret) {
          if (isValidSignature(requestBody, signatureHeader, webhookEndpointSecret)) {
              return WebhookParser.parse(requestBody);
          } else {
              throw new InvalidSignatureException();
          }
      }
docs: Validates that a webhook was genuinely sent by GoCardless using `isValidSignature`,
  and then parses it into an array of `com.gocardless.resources.Event`
  objects representing each event included in the webhook.
  
  @param requestBody the request body
  @param signatureHeader the signature included in the request, found in the
  `Webhook-Signature` header
  @param webhookEndpointSecret the webhook endpoint secret for your webhook endpoint,
  as configured in your GoCardless Dashboard
  @return the events included in the webhook
  @throws com.gocardless.errors.InvalidSignatureException if the
  signature header specified does not match the signature computed using the
  request body and webhook endpoint secret