/**
  * Attempt to import a field layout.
  *
  * @param array $fieldLayoutDef
  *
  * @return FieldLayoutModel
  */
 private function _importFieldLayout(array $fieldLayoutDef)
 {
     $layoutTabs = array();
     $layoutFields = array();
     if (array_key_exists('tabs', $fieldLayoutDef)) {
         $tabSortOrder = 0;
         foreach ($fieldLayoutDef['tabs'] as $tabName => $tabDef) {
             $layoutTabFields = array();
             foreach ($tabDef as $fieldHandle => $required) {
                 $fieldSortOrder = 0;
                 $field = craft()->fields->getFieldByHandle($fieldHandle);
                 if ($field) {
                     $layoutField = new FieldLayoutFieldModel();
                     $layoutField->setAttributes(array('fieldId' => $field->id, 'required' => $required, 'sortOrder' => ++$fieldSortOrder));
                     $layoutTabFields[] = $layoutField;
                     $layoutFields[] = $layoutField;
                 }
             }
             $layoutTab = new FieldLayoutTabModel();
             $layoutTab->setAttributes(array('name' => $tabName, 'sortOrder' => ++$tabSortOrder));
             $layoutTab->setFields($layoutTabFields);
             $layoutTabs[] = $layoutTab;
         }
     } else {
         if (array_key_exists('fields', $fieldLayoutDef)) {
             $fieldSortOrder = 0;
             foreach ($fieldLayoutDef['fields'] as $fieldHandle => $required) {
                 $field = craft()->fields->getFieldByHandle($fieldHandle);
                 if ($field) {
                     $layoutField = new FieldLayoutFieldModel();
                     $layoutField->setAttributes(array('fieldId' => $field->id, 'required' => $required, 'sortOrder' => ++$fieldSortOrder));
                     $layoutFields[] = $layoutField;
                 }
             }
         }
     }
     $fieldLayout = new FieldLayoutModel();
     $fieldLayout->type = ElementType::Entry;
     $fieldLayout->setTabs($layoutTabs);
     $fieldLayout->setFields($layoutFields);
     return $fieldLayout;
 }