public function createRelationship(
        array $properties,
        array $policies = [],
        array $addAces = [],
        array $removeAces = []
    ) {
        if (empty($properties)) {
            throw new CmisInvalidArgumentException('Properties must not be empty!');
        }

        $newObjectId = $this->getBinding()->getObjectService()->createRelationship(
            $this->getRepositoryId(),
            $this->getObjectFactory()->convertProperties($properties, null, [], self::$createUpdatability),
            $this->getObjectFactory()->convertPolicies($policies),
            $this->getObjectFactory()->convertAces($addAces),
            $this->getObjectFactory()->convertAces($removeAces)
        );

        if ($newObjectId === null) {
            return null;
        }

        return $this->createObjectId($newObjectId);
    }