final boolean isFinalStepNullSafe = steps.remove(steps.size()-1).isNullSafe();
final AOption<JavaBeanSupport.AccessorDetails> optFinalSetter = beanSupport.getSetterFor(lastGetterDetails.propName, lastGetterDetails.method);
final Method finalGetter = lastGetterDetails.method;
final Method finalSetter = optFinalSetter.isDefined() ? optFinalSetter.get().method : null;
final AQualifier sourceQualifier = lastGetterDetails.qualifier;
final AQualifier targetQualifier = optFinalSetter.isDefined() ? optFinalSetter.get().qualifier : AQualifier.NO_QUALIFIER;
return new AMethodPathBasedPropertyAccessor(propName, steps, finalGetter, finalSetter, isFinalStepNullSafe, isDeferred, tpe, sourceQualifier, targetQualifier);
}