@SuppressWarnings("unchecked")
public AnnotationJdom(Element annotationElement) {
this.annotationElement = annotationElement;
this.name = annotationElement.getAttribute(JdomTreeAdaptor.ID_ATTR).getValue();
final Iterator<Element> iterator = annotationElement.getDescendants(
new ElementFilter(JavaSourceTokenType.ANNOTATION_INIT_DEFAULT_KEY.name()));
if (iterator.hasNext()) {
defaultParameter = getAnnotationValueForElement(iterator.next());
parameterMap = Collections.emptyMap();
}
else {
defaultParameter = null;
final Iterator<Element> keysIterator = annotationElement.getDescendants(
new ElementFilter(JavaSourceTokenType.ANNOTATION_INIT_KEY_LIST.name()));
if (keysIterator.hasNext()) {
final List<Element> elementList = keysIterator.next().getChildren(JavaSourceTokenType.IDENT.name());
parameterMap = new HashMap<String, String>((int) (elementList.size() * 1.5), 0.9f);
for (Element element : elementList) {
String value = getAnnotationValueForElement(element);