public function __construct(ObjectTargetIdentity $object, $fieldName, ClassFieldTargetIdentity $classField)
 {
     parent::__construct($object->getClassName(), $object->getObjectIdentifier(), $fieldName);
     $this->object = $object;
     if ($this->getClassName() !== $classField->getClassName() || $this->getFieldName() !== $classField->getFieldName()) {
         throw new \InvalidArgumentException('The objectField specification given [' . $this->getClassName() . ',' . $this->getObjectIdentifier() . ',' . $this->getFieldName() . '] is not compatible with the given classField identity [' . $classField->getClassName() . ', ' . $classField->getFieldName() . '].');
     }
     $this->classField = $classField;
 }
 public function __construct($className)
 {
     parent::__construct($className);
 }
 public function __construct(ClassTargetIdentity $class, $fieldName)
 {
     parent::__construct($class->getClassName(), null, $fieldName);
     $this->class = $class;
 }
 public function __construct(ClassTargetIdentity $class, $objectId)
 {
     parent::__construct($class->getClassName(), $objectId);
     $this->class = $class;
 }