public static <T> void isNotSame( final T argument,
                                      String argumentName,
                                      final T object,
                                      String objectName ) {
        if (argument == object) {
            if (objectName == null) objectName = getObjectName(object);
            throw new IllegalArgumentException(CommonI18n.argumentMustNotBeSameAs.text(argumentName, objectName));
        }
    }
public static < T > void isNotSame ( final T argument , String argumentName , final T object , String objectName ) { if ( argument == object ) { if ( objectName == null ) objectName = getObjectName ( object ) ; throw new IllegalArgumentException ( CommonI18n . argumentMustNotBeSameAs . text ( argumentName , objectName ) ) ; } }
Asserts that the specified first object is not the same as (==) the specified second object.

@param <T>
@param argument The argument to assert as not the same as <code>object</code>.
@param argumentName The name that will be used within the exception message for the argument should an exception be thrown
@param object The object to assert as not the same as <code>argument</code>.
@param objectName The name that will be used within the exception message for <code>object</code> should an exception be
thrown; if <code>null</code> and <code>object</code> is not <code>null</code>, <code>object.toString()</code> will
be used.
@throws IllegalArgumentException If the specified objects are the same.