public function load($className, $associated, array $options = [])
    {
        $options += [
            'tableLocator' => $this->getTableLocator()
        ];

        $association = new $className($associated, $options);
        if (!$association instanceof Association) {
            $message = sprintf('The association must extend `%s` class, `%s` given.', Association::class, get_class($association));
            throw new InvalidArgumentException($message);
        }

        return $this->add($association->getName(), $association);
    }