baseExp = ((QueryKeyExpression)baseExp).getBaseExpression();
} else {
newDescriptor = mapping.getReferenceDescriptor();
}
} else {
QueryKey queryKey = getLeafQueryKeyFor(query, baseExp, descriptor, session);
if ((queryKey != null) && queryKey.isForeignReferenceQueryKey()){
outerJoin = ((QueryKeyExpression) baseExp).shouldUseOuterJoin();
newDescriptor = session.getDescriptor(((ForeignReferenceQueryKey)queryKey).getReferenceClass());
}
}
} else if (baseExp.isExpressionBuilder()) {