/**
  * Builds the change-array based on the old- and new values
  *
  * @param interface_versionable|class_root $objSourceModel
  * @param bool $bitUseInitValues
  *
  * @return array
  */
 private function createChangeArray($objSourceModel, $bitUseInitValues = false)
 {
     $arrOldValues = $this->getOldValuesForSystemid($objSourceModel->getSystemid());
     if ($bitUseInitValues) {
         $arrOldValues = $this->getInitValuesForSystemid($objSourceModel->getSystemid());
     }
     //this are now the new ones
     $arrNewValues = $this->readVersionableProperties($objSourceModel);
     if ($arrOldValues == null) {
         $arrOldValues = array();
     }
     if ($arrNewValues == null) {
         $arrNewValues = array();
     }
     $arrReturn = array();
     foreach ($arrNewValues as $strPropertyName => $objValue) {
         $arrReturn[] = array("property" => $strPropertyName, "oldvalue" => isset($arrOldValues[$strPropertyName]) ? $arrOldValues[$strPropertyName] : "", "newvalue" => isset($arrNewValues[$strPropertyName]) ? $arrNewValues[$strPropertyName] : "");
     }
     return $arrReturn;
 }