// TODO: joinPoint.getSystem() should return a LIST with systems, how-to handle that?
if (joinPoint.getSystem().isAttribDef()) {
AttribDefSystem system = (AttribDefSystem)joinPoint.getSystem();
ExecutionPointcut methodPointcut = joinPoint.getPointcuts()[m_currentPointcutIndex];
IndexTuple index = methodPointcut.getAdviceIndex(m_currentAdviceIndex);
int aspectIndex = index.getAspectIndex();
int methodIndex = index.getMethodIndex();
result = system.getAspect(aspectIndex).___AW_invokeAdvice(methodIndex, joinPoint);
}
else {
XmlDefSystem system = (XmlDefSystem)joinPoint.getSystem();
IndexTuple index = joinPoint.getPointcuts()[m_currentPointcutIndex].
getAdviceIndex(m_currentAdviceIndex);
result = system.getAdvice(index).doExecute(joinPoint);
}
m_currentAdviceIndex--;