public function convert(\DOMElement $parent, PropertyDescriptor $property)
    {
        $fullyQualifiedNamespaceName = $property->getNamespace() instanceof NamespaceDescriptor
            ? $property->getNamespace()->getFullyQualifiedStructuralElementName()
            : $parent->getAttribute('namespace');

        $child = new \DOMElement('property');
        $parent->appendChild($child);

        $child->setAttribute('static', var_export($property->isStatic(), true));
        $child->setAttribute('visibility', $property->getVisibility());
        $child->setAttribute('namespace', $fullyQualifiedNamespaceName);
        $child->setAttribute('line', (string) $property->getLine());

        $child->appendChild(new \DOMElement('name', '$' . $property->getName()));
        $child->appendChild(new \DOMElement('full_name', (string) $property->getFullyQualifiedStructuralElementName()));
        $child->appendChild(new \DOMElement('default'))->appendChild(new \DOMText((string) $property->getDefault()));

        $this->docBlockConverter->convert($child, $property);

        return $child;
    }