final ExpressionMetaData expressionMetaData)
{
try
{
final BeanUtility utility = new BeanUtility(expression);
final ExpressionPropertyMetaData[] propertyDescriptions = expressionMetaData.getPropertyDescriptions();
for (int x = 0; x < propertyDescriptions.length; x++)
{
final ExpressionPropertyMetaData metaData = propertyDescriptions[x];
final Object o = utility.getProperty(metaData.getName());
final String[] referencedFields = metaData.getReferencedFields(expression, o);
for (int y = 0; y < referencedFields.length; y++)
{
final String field = referencedFields[y];
if (isValidField(field, columnNames) == false)