public static function create($array)
 {
     $safm = new self();
     $safm->setFieldName(self::tryOrDefault(@$array['fieldName']));
     $safm->setColumnName(self::tryOrDefault(@$array['fieldName']));
     $safm->setJoinColumnName(self::tryOrDefault(@$array['joinColumns'][0]['name']));
     $safm->setJoinColumnNullable(self::tryOrDefault(@$array['joinColumns'][0]['nullable']));
     $safm->setTargetEntity(self::tryOrDefault(@$array['targetEntity']));
     $safm->setSourceEntity(self::tryOrDefault(@$array['sourceEntity']));
     $safm->setInversedBy(self::tryOrDefault(@$array['inversedBy']));
     return $safm;
 }