code: private function populateDefault(Field $field)
      {
          if ($this->has($field->getName())) {
              return true;
          }
  
          $default = $field->getDefault($this);
          if (null === $default) {
              return false;
          }
  
          if ($field->isASingleValue()) {
              $this->data[$field->getName()] = $default;
              unset($this->clearedFields[$field->getName()]);
              return true;
          }
  
          if (empty($default)) {
              return false;
          }
  
          /*
           * sets have a special handling to deal with unique values
           */
          if ($field->isASet()) {
              $this->addToSet($field->getName(), $default);
              return true;
          }
  
          $this->data[$field->getName()] = $default;
          unset($this->clearedFields[$field->getName()]);
          return true;
      }
docs: Populates the default on a single field if it's not already set
  and the default generated is not a null value or empty array.
  
  @param Field $field
  @return bool Returns true if a non null/empty default was applied or already present.