Check argument.

Don't do comparison unless specifically asked for.
TODO: .NET does full comparison always, while JVM does full comparison only on values.