original_string: 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);
      }
code: 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);
      }
code_tokens: 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 ) ; }
docstring: Creates a new relationship between 2 objects.
  
  @param string[] $properties
  @param PolicyInterface[] $policies
  @param AceInterface[] $addAces
  @param AceInterface[] $removeAces
  @return ObjectIdInterface|null the object ID of the new relationship or <code>null</code> if the relationship
  could not be created
docstring_tokens: Creates a new relationship between 2 objects .