if (!m_aspectsLoaded) throw new IllegalStateException("aspects are not loaded");
if (classMetaData == null) throw new IllegalArgumentException("class meta-data can not be null");
if (methodMetaData == null) throw new IllegalArgumentException("method meta-data can not be null");
for (Iterator it = m_aspectMap.values().iterator(); it.hasNext();) {
AspectDefinition aspectDef = (AspectDefinition)it.next();
Collection controllerDefs = aspectDef.getControllers();
for (Iterator it2 = controllerDefs.iterator(); it2.hasNext();) {
ControllerDefinition controllerDef = (ControllerDefinition)it2.next();
if (controllerDef.getExpression().match(classMetaData, methodMetaData)) {
return controllerDef.getClassName();
}