public function insert( $key_path, $value ) {
		try {
			$this->update( $key_path, $value );
		} catch ( NonExistentKeyException $exception ) {
			$exception->get_traverser()->create_key();
			$this->insert( $key_path, $value );
		}
	}
public function insert( $key_path, $value ) {
		try {
			$this->update( $key_path, $value );
		} catch ( NonExistentKeyException $exception ) {
			$exception->get_traverser()->create_key();
			$this->insert( $key_path, $value );
		}
	}
public function insert ( $ key_path , $ value ) { try { $ this -> update ( $ key_path , $ value ) ; } catch ( NonExistentKeyException $ exception ) { $ exception -> get_traverser ( ) -> create_key ( ) ; $ this -> insert ( $ key_path , $ value ) ; } }
Define a nested value while creating keys if they do not exist.

@param array $key_path
@param mixed $value
Define a nested value while creating keys if they do not exist .