code: private static String format(@Nullable final String argumentName, @Nullable final Class<?> expectedType,
  			@Nullable final Class<?> actualType) {
  		final String expected = expectedType != null ? expectedType.getName() : NO_TYPE_PLACEHOLDER;
  		final String actual = actualType != null ? actualType.getName() : NO_TYPE_PLACEHOLDER;
  		return String.format(MESSAGE_WITH_NAME_AND_TYPES, argumentName, expected, actual);
  	}
docs: Returns the formatted string {@link IllegalInstanceOfArgumentException#MESSAGE_WITH_NAME_AND_TYPES} with the
  given {@code argumentName}.
  
  @param argumentName
  the name of the passed argument
  @param expectedType
  the expected class of the given argument
  @param actualType
  the actual class of the given argument
  @return a formatted string of message with the given argument name