We should also represent method overloading when the same-named method goes to different states. This might be more prevalent in constructors than other methods.
For example in Socket documentation:
Socket() - Creates an unconnected Socket.
Socket(String host, int port, InetAddress localAddr, int localPort)- Creates a socket and connects it to the specified remote host on the specified remote port.
So the first constructor goes to the unconnected state but the second goes to connected state.
But currently we just choose the first case.
Since it might be too much visual clutter we can only show this when the states are different, and if there are too many arguments even add a * with more info.