if (_selections==null) { NSArray oldValues = (NSArray)NSKeyValueCodingAdditions.Utility.valueForKeyPath(sourceObject(), relationshipKey()); setSelections(oldValues);  if ((_selections==null) && isMandatory()) { if (theList().count() > 0) { Object anObject = theList().objectAtIndex(0); setSelections(new NSArray(anObject)); } }
if (_selections == null) { NSArray oldValues = (NSArray) NSKeyValueCodingAdditions.Utility.valueForKeyPath(sourceObject(), relationshipKey()); if(oldValues.lastObject() instanceof EOEnterpriseObject) { oldValues = ERXEOControlUtilities.localInstancesOfObjects(editingContext(), oldValues); } setSelections(oldValues);  if ((_selections == null) && isMandatory()) { if (theList().count() > 0) { Object anObject = theList().objectAtIndex(0); setSelections(new NSArray(anObject));
    public NSArray selections() {        if (_selections==null) {            NSArray oldValues = (NSArray)NSKeyValueCodingAdditions.Utility.valueForKeyPath(sourceObject(), relationshipKey());            setSelections(oldValues);            // deal with isMandatory            if ((_selections==null) && isMandatory()) {                if (theList().count() > 0) {                    Object anObject = theList().objectAtIndex(0);                    setSelections(new NSArray(anObject));                }            }        }        return _selections;    }