code: protected Map<String, String> getElementAttributes() {
          // Preserve order of attributes
          Map<String, String> attrs = new HashMap<>();
  
          if (this.getInput() != null) {
              attrs.put("input", this.getInput().toString());
          }
          if (this.getAction() != null) {
              attrs.put("action", this.getAction().toString());
          }
          if (this.getStatusCallback() != null) {
              attrs.put("statusCallback", this.getStatusCallback().toString());
          }
          if (this.getStatusCallbackMethod() != null) {
              attrs.put("statusCallbackMethod", this.getStatusCallbackMethod().toString());
          }
          if (this.getTimeout() != null) {
              attrs.put("timeout", this.getTimeout().toString());
          }
          if (this.getMaxAttempts() != null) {
              attrs.put("maxAttempts", this.getMaxAttempts().toString());
          }
          if (this.isSecurityCode() != null) {
              attrs.put("securityCode", this.isSecurityCode().toString());
          }
          if (this.getPostalCode() != null) {
              attrs.put("postalCode", this.getPostalCode());
          }
          if (this.getPaymentConnector() != null) {
              attrs.put("paymentConnector", this.getPaymentConnector());
          }
          if (this.getTokenType() != null) {
              attrs.put("tokenType", this.getTokenType().toString());
          }
          if (this.getChargeAmount() != null) {
              attrs.put("chargeAmount", this.getChargeAmount());
          }
          if (this.getCurrency() != null) {
              attrs.put("currency", this.getCurrency());
          }
          if (this.getDescription() != null) {
              attrs.put("description", this.getDescription());
          }
          if (this.getValidCardTypess() != null) {
              attrs.put("validCardTypes", this.getValidCardTypessAsString());
          }
          if (this.getLanguage() != null) {
              attrs.put("language", this.getLanguage().toString());
          }
  
          return attrs;
      }
docs: Attributes to set on the generated XML element
  
  @return A Map of attribute keys to values