/**
  * Asks association mappings informations.
  *
  * @param InputInterface    $input
  * @param OutputInterface   $output
  * @param ClassMetadata $metadata
  *
  * @return array
  */
 public function askAssociationMappings(GeneratorStyle $io, ClassMetadata $metadata)
 {
     // Display step description
     $io->section('Association definitions');
     $io->text('You can add some associations now.');
     // Ask all already mapped associations for edition
     foreach ($metadata->associationMappings as $associationName => $mapping) {
         $mapping = $this->askAssociationMapping($associationName);
         $metadata->overrideAssociation($mapping);
     }
     // Recursively ask new association mappings
     while (null !== ($mapping = $this->askAssociationMapping($io, $metadata))) {
         // Map association to metadata
         $metadata->mapAssociation($mapping);
     }
     return $this;
 }