return (ParameterExpression)rootExpr;
}
if (rootExpr.getLeft() != null)
{
ParameterExpression paramExpr = getParameterExpressionForPosition(rootExpr.getLeft(), pos);
if (paramExpr != null)
{
return paramExpr;
}
}
if (rootExpr.getRight() != null)
{
ParameterExpression paramExpr = getParameterExpressionForPosition(rootExpr.getRight(), pos);
if (paramExpr != null)
{
return paramExpr;
}
}
if (rootExpr instanceof InvokeExpression)
{
InvokeExpression invokeExpr = (InvokeExpression)rootExpr;
List<Expression> args = invokeExpr.getArguments();
if (args != null)
{
Iterator<Expression> argIter = args.iterator();
while (argIter.hasNext())
{
ParameterExpression paramExpr = getParameterExpressionForPosition(argIter.next(), pos);
if (paramExpr != null)
{
return paramExpr;
}
}