/**
  * @param string $className
  * @return void
  */
 protected function initClassObject($className)
 {
     $this->classObject = new Tx_ExtensionBuilder_Domain_Model_Class_Class($className);
     $this->classReflection = new Tx_ExtensionBuilder_Reflection_ClassReflection($className);
     $propertiesToMap = array('FileName', 'Modifiers', 'Tags', 'ParentClass', 'DocComment');
     // map class variables from ClassReflection to classObject
     foreach ($propertiesToMap as $propertyToMap) {
         // these are all "value objects" so there is no need to parse them
         $getterMethod = 'get' . $propertyToMap;
         $setterMethod = 'set' . $propertyToMap;
         $this->classObject->{$setterMethod}($this->classReflection->{$getterMethod}());
     }
     $interfaceNames = $this->classReflection->getInterfaceNames();
     if (count($interfaceNames) > 0) {
         if ($this->classReflection->getParentClass() && count($this->classReflection->getParentClass()->getInterfaceNames()) > 0) {
             $interfaceNames = array_diff($interfaceNames, $this->classReflection->getParentClass()->getInterfaceNames());
         }
         $this->classObject->setInterfaceNames($interfaceNames);
     }
     // reset class properties
     $this->lines = array();
     $this->lastMatchedLineNumber = -1;
 }