handler.addMethodLevelDeclaration(attribute, method.get());
} else {
// method name already declared
final List<MethodAttribute> list = existingDeclarations.get(method.get().getName());
for (final MethodAttribute mtx : list) {
final MethodParams methodParams = mtx.getMethodParams();
if (methodParams == null) {
// params not specified, so this is more specific
handler.addMethodLevelDeclaration(attribute, method.get());
} else {
final List<String> params1 = methodParams.getMethodParam();
final String[] params2 = asStrings(method.get().getParameterTypes());
if (params1.size() != params2.length) {
// params not the same
handler.addMethodLevelDeclaration(attribute, method.get());
} else {