public static GdbEvent processRecord(GdbMiResultRecord record, String commandType) {
// Iterate through the list of event types
GdbEvent event = null;
for (Class<?> clazz : GdbMiEventTypes.classes) {
// Verify the type has a GdbMiEvent annotation
GdbMiEvent eventAnnotation = clazz.getAnnotation(GdbMiEvent.class);
if (eventAnnotation == null) {
m_log.warn("Class " + clazz.getName() + " is in the GdbMiEventTypes.classes list " +
"but does not have a GdbMiEvent annotation");
continue;
}
// Check if this type is appropriate for the record
if (eventAnnotation.recordType() == record.type) {
boolean match = false;
for (String className : eventAnnotation.className()) {
if (className.equals(record.className)) {
match = true;
break;
}
}