if (!inTransaction && _primaryKeyDictionary == null) { if (rawPrimaryKey() != null) {
if(_primaryKeyDictionary == null) { if (!inTransaction) {
    public NSDictionary primaryKeyDictionary(boolean inTransaction) {        if (!inTransaction && _primaryKeyDictionary == null) {            if (rawPrimaryKey() != null) {                NSArray primaryKeyAttributeNames=primaryKeyAttributeNames();                if (primaryKeyAttributeNames.count()>1)                    throw new RuntimeException("primaryKeyDictionary does not support compound primary keys");                //FIXME: Should be getting primaryKey name from the entity of the enterprise object.                _primaryKeyDictionary = new NSDictionary(rawPrimaryKey(), primaryKeyAttributeNames.lastObject());            } else                _primaryKeyDictionary = ERXUtilities.primaryKeyDictionaryForEntity(editingContext(), entityName());        }        return _primaryKeyDictionary;    }