java: instance booleanOf Boolean?

Estou um pouco confuso: tenho uma função que aceita um objeto como argumento. Mas o compilador não se queixa se eu apenas passar uma primitiva e até reconhecer uma primitiva booleana como Objeto Booleano. Por que?

public String test(Object value)
{
   if (! (value instanceof Boolean) ) return "invalid";
   if (((Boolean) value).booleanValue() == true ) return "yes";
   if (((Boolean) value).booleanValue() == false ) return "no";
   return "dunno";
}

String result = test(true);  // will result in "yes"

questionAnswers(4)

yourAnswerToTheQuestion