/**
* @param Association $association
*
* @return Metadata
* @throws HydrationException
*/
private function associate(Association $association) : Metadata
{
$data = $this->storage->findBy($association->schema(), $association->type()->name(), $association->criteria());
return $this->hydrate($association->type(), $data);
}