return value;
}
private Object findPrimaryKeyMatch(Object primaryKey, String parameter)
{
ExpressionEvaluator evaluator = getExpressionEvaluator();
String keyExpression = getKeyExpression();
Map primaryKeys = getPrimaryKeyMap();
if (primaryKeys == null)
primaryKeys = new HashMap();
Map sourceIteratorMap = getSourceIteratorMap();
if (sourceIteratorMap == null)
sourceIteratorMap = new HashMap();
Iterator it = (Iterator) sourceIteratorMap.get(parameter);
if (it == null)
{
it = getSource(parameter);
if (it == null)
it = Collections.EMPTY_LIST.iterator();
}
try
{
while (it.hasNext())
{
Object sourceValue = it.next();
Object sourcePrimaryKey = evaluator.read(sourceValue, keyExpression);
if (sourcePrimaryKey != null)
primaryKeys.put(sourcePrimaryKey, sourceValue);
if (primaryKey.equals(sourcePrimaryKey))
{