protected function getRecordPrimaryKeyPredicate()
    {
        // Get table primary keys
        $primary_keys = $this->getTable()->getPrimaryKeys();
        $predicate = [];
        foreach ($primary_keys as $column) {
            $pk_value = $this->offsetGet($column);
            if ($pk_value != '') {
                $predicate[$column] = $pk_value;
            } else {
                throw new Exception\UnexpectedValueException(__METHOD__ . ": Cannot find record primary key values. Record has no primary key value set");
            }
        }
        return $predicate;
    }