protected function newField($name=null, $data=null) {
		if($name !== null && isset($this[$name]))
			return;
		$cb = $this->cb;
		$newelement = $cb($data);
		if(!$newelement)
			return;
		$this->add($newelement, $name);
		return $newelement;
	}
protected function newField($name=null, $data=null) {
		if($name !== null && isset($this[$name]))
			return;
		$cb = $this->cb;
		$newelement = $cb($data);
		if(!$newelement)
			return;
		$this->add($newelement, $name);
		return $newelement;
	}
protected function newField ( $ name = null , $ data = null ) { if ( $ name !== null && isset ( $ this [ $ name ] ) ) return ; $ cb = $ this -> cb ; $ newelement = $ cb ( $ data ) ; if ( ! $ newelement ) return ; $ this -> add ( $ newelement , $ name ) ; return $ newelement ; }
Create a new field or sub-group.
@param  string $name
@param  mixed $data
@return Field|Group
Create a new field or sub - group .