/**
  * Work out if a particular field value is considered "special" (and further processing is required).
  *
  * If it's special, process it into its proper value.
  *
  * @param mixed $value
  *   The special command used to populate this field's value.
  *
  * @return mixed
  *   The processed value. For example, if random text was requested, returns random text instead of the value that
  *   requests random text.
  */
 public static function parseSpecialValue($value)
 {
     // If array, recurse values.
     if (is_array($value)) {
         $output = array();
         foreach ($value as $key => $innerValue) {
             $output[$key] = Field::parseSpecialValue($innerValue);
         }
         return $output;
     }
     // If we're not dealing with a special value we can just bail out immediately at this point.
     if (substr($value, 0, 9) != 'special::') {
         return $value;
     }
     $special = substr($value, 9);
     switch ($special) {
         case 'randomText':
         default:
             $value = static::randomText();
             break;
     }
     return $value;
 }