List modifiers = method.modifiers();
boolean isPublic = false;
for (Object mod : modifiers) {
IExtendedModifier exm = (IExtendedModifier) mod;
if (exm instanceof Modifier) {
Modifier m = (Modifier) exm;
if (m.getKeyword().equals(ModifierKeyword.PUBLIC_KEYWORD)) {
isPublic = true;
}
}
}
if (!isPublic)
return false;
boolean isLM = false;
List params = method.parameters();
for (Method m : lMethods) {
if (m.getName().equals(method.getName().getFullyQualifiedName())) {
if (params != null && params.size() == 1) {
SingleVariableDeclaration svd = (SingleVariableDeclaration) params.get(0);
if (!svd.isVarargs()) {
Type type = svd.getType();
if (!type.isArrayType() && !type.isParameterizedType() && !type.isPrimitiveType() && !type.isWildcardType()) {
Class<?>[] types = m.getParameterTypes();
Class evtType = types[0];
if (type.isQualifiedType()) {
QualifiedType qt = (QualifiedType) type;
if (qt.getName().getFullyQualifiedName().equals(evtType.getName())) {
isLM = true;