public function getByPivot($pivot)
    {
        $result = [];
        foreach ($this->added as $entry) {
            if (!isset($entry[$pivot])) {
                throw new InvalidArgumentException("Invalid pivot given: '$pivot'.");
            }
            if (isset($result[$entry[$pivot]])) {
                $result[$entry[$pivot]]++;
            } else {
                $result[$entry[$pivot]] = 1;
            }
        }
        foreach ($this->removed as $entry) {
            if (!isset($entry[$pivot])) {
                throw new InvalidArgumentException("Invalid pivot given: '$pivot'.");
            }
            if (isset($result[$entry[$pivot]])) {
                $result[$entry[$pivot]]--;
                if ($result[$entry[$pivot]] === 0) {
                    unset($result[$entry[$pivot]]);
                }
            } else {
                $result[$entry[$pivot]] = -1;
            }
        }
        return $result;
    }