// search backwards so that custom values added after construction
// are found quickly, since this will be the std way of accessing them
for (int i = _vals.size()1; i >= 0; i-)

{
if (_vals.get(i).matches(property))
return _vals.get(i);
}

return null;
}

In the case of a dervied provider, it adds new EntityManagerFactoryValue to the end of the property list, which in theory override
the one defined by the openjpa provider.

However the equals method iterate the "current" configuration _vals list from the top but match the "other" configuration _vals
list found from the bottom, so even both configuration objects are exactly the same, the equals will fail.

In the case of a single openjpa provider, this problem is NOT surfaced.