boolean foundExplicitValue = false;
for (int i = 0; i < pairs.length; ++i) {
MethodBinding explicitBinding = pairs[i].getMethodBinding();
if (method == explicitBinding) {
ExecutableElement e = new ExecutableElementImpl(_env, explicitBinding);
AnnotationValue v = new AnnotationMemberValue(_env, pairs[i].getValue(), explicitBinding);
valueMap.put(e, v);
foundExplicitValue = true;
break;
}
}
// else get default value if one exists
if (!foundExplicitValue) {
Object defaultVal = method.getDefaultValue();
if (null != defaultVal) {
ExecutableElement e = new ExecutableElementImpl(_env, method);
AnnotationValue v = new AnnotationMemberValue(_env, defaultVal, method);
valueMap.put(e, v);
}
}
}
return Collections.unmodifiableMap(valueMap);