docs: public static <T extends Enum<T>> boolean setAttributeEnum(Node document, Class<T> type,
  			boolean caseSensitive, T value, String... path) {
  		assert document != null : AssertMessages.notNullParameter(0);
  		assert type != null : AssertMessages.notNullParameter(1);
  		if (value != null) {
  			final String[] thePath = Arrays.copyOf(path, path.length - 1);
  			final String attrName = path[path.length - 1];
  			if (attrName != null && !attrName.isEmpty()) {
  				Element node = null;
  				if (thePath != null && thePath.length > 0) {
  					node = getElementFromPath(document, caseSensitive, 0, thePath);
  				} else if (document instanceof Element) {
  					node = (Element) document;
  				}
  				if (node != null) {
  					node.setAttribute(attrName, value.name());
  					return true;
  				}
  			}
  		}
  		return false;
  	}