/**
  * @param ClassTemplate $classTemplate
  */
 public function addEntry(ClassTemplate $classTemplate)
 {
     $fhirElementName = $classTemplate->getElementName();
     $extendedMapEntry = $classTemplate->getExtendedElementMapEntry();
     $this->_bigDumbMap[$fhirElementName] = array('fullClassName' => $classTemplate->compileFullyQualifiedClassName(true), 'extendedElementName' => $extendedMapEntry ? $extendedMapEntry->getFHIRElementName() : null, 'properties' => array());
     foreach ($classTemplate->getMethods() as $method) {
         if ($method instanceof SetterMethodTemplate) {
             /** @var \DCarbone\PHPFHIR\ClassGenerator\Template\Parameter\PropertyParameterTemplate $parameter */
             foreach ($method->getParameters() as $parameter) {
                 $property = $parameter->getProperty();
                 $this->_bigDumbMap[$fhirElementName]['properties'][$property->getName()] = array('setter' => $method->getName(), 'element' => $property->getFHIRElementType(), 'type' => $property->getPHPType());
             }
         }
     }
 }
 /**
  * @param ClassTemplate $classTemplate
  */
 public function addPHPFHIRClassEntry(ClassTemplate $classTemplate)
 {
     $this->addEntry($classTemplate->compileFullyQualifiedClassName(false), $classTemplate->compileFullOutputPath($this->outputPath));
 }