/**
  * @return Metadata
  */
 public function generate()
 {
     $metadata = $this->getMetadata();
     $keyPair = $this->buildKeyPairFrom($this->metadataConfiguration);
     $metadata->document = SAML2_DOMDocumentFactory::create();
     $metadata->document->loadXML($this->templateEngine->render('SurfnetSamlBundle:Metadata:metadata.xml.twig', ['metadata' => $metadata]));
     $this->signingService->sign($metadata, $keyPair);
     return $metadata;
 }