public static void addCustomAttributes(XMLStreamReader xtr,BaseElement element,List<ExtensionAttribute>... blackLists){
  for (int i=0; i < xtr.getAttributeCount(); i++) {
    ExtensionAttribute extensionAttribute=new ExtensionAttribute();
    extensionAttribute.setName(xtr.getAttributeLocalName(i));
    extensionAttribute.setValue(xtr.getAttributeValue(i));
    if (StringUtils.isNotEmpty(xtr.getAttributeNamespace(i))) {
      extensionAttribute.setNamespace(xtr.getAttributeNamespace(i));
    }
    if (StringUtils.isNotEmpty(xtr.getAttributePrefix(i))) {
      extensionAttribute.setNamespacePrefix(xtr.getAttributePrefix(i));
    }
    if (!isBlacklisted(extensionAttribute,blackLists)) {
      element.addAttribute(extensionAttribute);
    }
  }
}

public static void addCustomAttributes ( XMLStreamReader xtr , BaseElement element , List < ExtensionAttribute > ... blackLists ) { for ( int i = 0 ; i < xtr . getAttributeCount ( ) ; i ++ ) { ExtensionAttribute extensionAttribute = new ExtensionAttribute ( ) ; extensionAttribute . setName ( xtr . getAttributeLocalName ( i ) ) ; extensionAttribute . setValue ( xtr . getAttributeValue ( i ) ) ; if ( StringUtils . isNotEmpty ( xtr . getAttributeNamespace ( i ) ) ) { extensionAttribute . setNamespace ( xtr . getAttributeNamespace ( i ) ) ; } if ( StringUtils . isNotEmpty ( xtr . getAttributePrefix ( i ) ) ) { extensionAttribute . setNamespacePrefix ( xtr . getAttributePrefix ( i ) ) ; } if ( ! isBlacklisted ( extensionAttribute , blackLists ) ) { element . addAttribute ( extensionAttribute ) ; } } }
add all attributes from xml to element extensionattributes ( except blacklisted ) .
