public function map( $modelList )
	{
		$self = $this;

		return $this->wrapInTransaction( function () use ( $self, $modelList )
		{
			forward_static_call( [get_class( $self->model ), 'unguard'] );

			$result = $self->mapTree( $modelList );

			forward_static_call( [get_class( $self->model ), 'reguard'] );

			return $result;
		} );
	}