TypeElement annotationTypeElement = (TypeElement)annotation.getAnnotationType().asElement();
Map<? extends ExecutableElement, ? extends AnnotationValue> values = annotation.getElementValues();
for (Element member : annotationTypeElement.getEnclosedElements()) {
if (member instanceof ExecutableElement) {
ExecutableElement xMember = (ExecutableElement)member;
AnnotationValue value = values.get(xMember);
String key = xMember.getSimpleName().toString();
HashMap<String, Serializable> target;
if (value == null) {
if (state.undeclared == null) {
state.undeclared = new HashMap<String, Serializable>();