public function Field($properties = array())
 {
     $fields = new FieldGroup($this->name);
     $fields->setID("{$this->name}_Holder");
     list($countryCode, $areaCode, $phoneNumber, $extension) = $this->parseValue();
     if ($this->value == "") {
         $countryCode = $this->countryCode;
         $areaCode = $this->areaCode;
         $extension = $this->ext;
     }
     if ($this->countryCode !== null) {
         $fields->push(new NumericField($this->name . '[Country]', '+', $countryCode, 4));
     }
     if ($this->areaCode !== null) {
         $fields->push(new NumericField($this->name . '[Area]', '(', $areaCode, 4));
         $fields->push(new NumericField($this->name . '[Number]', ')', $phoneNumber, 10));
     } else {
         $fields->push(new NumericField($this->name . '[Number]', '', $phoneNumber, 10));
     }
     if ($this->ext !== null) {
         $fields->push(new NumericField($this->name . '[Extension]', 'ext', $extension, 6));
     }
     $description = $this->getDescription();
     if ($description) {
         $fields->getChildren()->First()->setDescription($description);
     }
     foreach ($fields as $field) {
         $field->setDisabled($this->isDisabled());
         $field->setReadonly($this->isReadonly());
     }
     return $fields;
 }