/**
  * 
  * Handles ignored required fields by changing the required flag of form elements
  * 
  * @access	protected
  * @return	boolean	A flag whether the user profile is maybe incomplete after saving the form data 
  * 
  */
 protected function handleIgnoredRequiredFields()
 {
     $profileMaybeIncomplete = false;
     require_once 'Services/User/classes/class.ilUserProfile.php';
     foreach (ilUserProfile::getIgnorableRequiredSettings() as $fieldName) {
         $elm = $this->form_gui->getItemByPostVar($fieldName);
         if (!$elm) {
             continue;
         }
         if ($elm->getRequired()) {
             $profileMaybeIncomplete = true;
             // Flag as optional
             $elm->setRequired(false);
         }
     }
     include_once 'Services/User/classes/class.ilUserDefinedFields.php';
     $user_defined_fields = ilUserDefinedFields::_getInstance();
     foreach ($user_defined_fields->getDefinitions() as $field_id => $definition) {
         $elm = $this->form_gui->getItemByPostVar('udf_' . $definition['field_id']);
         if (!$elm) {
             continue;
         }
         if ($elm->getRequired() && $definition['changeable'] && $definition['required'] && $definition['visible']) {
             $profileMaybeIncomplete = true;
             // Flag as optional
             $elm->setRequired(false);
         }
     }
     return $profileMaybeIncomplete;
 }