public function group( $name )
	{
		$name = rtrim($name, '.');
		$pref = $name . '.';
		$len = strlen($pref);
		$data = [];

		foreach( array_keys($this->items) as $key )
		{
			if( $key === $name )
			{
				$data['.'] = $this->items[$key];
			}
			else if( strlen($key) > $len && substr($key, 0, $len) === $pref )
			{
				$data[substr($key, $len)] = $this->items[$key];
			}
		}

		return new self($data);
	}
public function group( $name )
	{
		$name = rtrim($name, '.');
		$pref = $name . '.';
		$len = strlen($pref);
		$data = [];

		foreach( array_keys($this->items) as $key )
		{
			if( $key === $name )
			{
				$data['.'] = $this->items[$key];
			}
			else if( strlen($key) > $len && substr($key, 0, $len) === $pref )
			{
				$data[substr($key, $len)] = $this->items[$key];
			}
		}

		return new self($data);
	}
public function group ( $ name ) { $ name = rtrim ( $ name , '.' ) ; $ pref = $ name . '.' ; $ len = strlen ( $ pref ) ; $ data = [ ] ; foreach ( array_keys ( $ this -> items ) as $ key ) { if ( $ key === $ name ) { $ data [ '.' ] = $ this -> items [ $ key ] ; } else if ( strlen ( $ key ) > $ len && substr ( $ key , 0 , $ len ) === $ pref ) { $ data [ substr ( $ key , $ len ) ] = $ this -> items [ $ key ] ; } } return new self ( $ data ) ; }
Get new property group

@param $name
@return Prop
Get new property group