Here is a handle() method from Laravel's *ValidatePostSize*:

```
public function handle($request, Closure $next)
{
    $max = $this->getPostMaxSize();

    if ($max > 0 && $request->server('CONTENT_LENGTH') > $max) {
        throw new PostTooLargeException;
    }

    return $next($request);
}

```

Now, this method is called using *$next($request)* for another Middleware. What my understanding is that *handle()* method get translated to *$next*. I want to know how this happens under the hood.