public function merge(ClassMetadata $object)
    {
        $properties = $this->properties;
        $methods = $this->methods;

        foreach ($object->getProperties() as $property) {
            $properties[$property->getName()] = $property;
        }

        foreach ($object->getMethods() as $method) {
            $methods[$method->getName()] = $method;
        }

        $createdAt = $this->createdAt;

        if (($otherCreatedAt = $object->getCreatedAt()) > $createdAt) {
            $createdAt = $otherCreatedAt;
        }

        return new static($this->className, $properties, $methods, $createdAt);
    }