docs: @NonNull
      public static SourceParams createBancontactParams(
              @IntRange(from = 0) long amount,
              @NonNull String name,
              @NonNull String returnUrl,
              @Nullable String statementDescriptor,
              @Nullable String preferredLanguage) {
          final SourceParams params = new SourceParams()
                  .setType(Source.BANCONTACT)
                  .setCurrency(Source.EURO)
                  .setAmount(amount)
                  .setOwner(createSimpleMap(FIELD_NAME, name))
                  .setRedirect(createSimpleMap(FIELD_RETURN_URL, returnUrl));
  
          if (statementDescriptor != null || preferredLanguage != null) {
              final AbstractMap<String, Object> additionalParamsMap = new HashMap<>();
  
              additionalParamsMap.put(FIELD_STATEMENT_DESCRIPTOR, statementDescriptor);
              additionalParamsMap.put(FIELD_PREFERRED_LANGUAGE, preferredLanguage);
              removeNullAndEmptyParams(additionalParamsMap);
  
              params.setApiParameterMap(additionalParamsMap);
          }
  
          return params;
      }