\begin{algorithm}
\caption{Method-Dispatch-Of-Virtual-Calls}
\begin{algorithmic}
\INPUT Type $c$ of receiver object and method signature $m$ at call site.
\OUTPUT The signature of target method.
\PROCEDURE{Dispatch}{$c,m$}
\IF{$c$ contains non-abstract method $m'$ that has the same name and descriptor as $m$}
\RETURN $m'$
\ELSE
\STATE Let $c'$ be the superclass of $c$.
\RETURN \CALL{Dispatch}{$c', m$}
\ENDIF
\ENDPROCEDURE
\end{algorithmic}
\end{algorithm}