public Object invokeRead(Object target, int index)
throws Throwable
{
Interceptor[] aspects = fieldReadInfos[index].getInterceptors();
if (aspects == null) aspects = new Interceptor[0];
FieldReadInvocation invocation;
if (target != null)
{
InstanceAdvised advised = (InstanceAdvised) target;
InstanceAdvisor advisor = advised._getInstanceAdvisor();
if (advisor != null && advisor.hasInterceptors())
{
aspects = advisor.getInterceptors(aspects);
}
}
invocation = new FieldReadInvocation(advisedFields[index], index, aspects);
invocation.setAdvisor(this);
invocation.setTargetObject(target);
return invocation.invokeNext();
}