Саму задачу я розвязал, но меня интересует данный момент:
if(object instanceof Drawable){
   ((Drawable) object).draw();
}
Я пишу условие "(object instanceof Drawable)", тоесть идет проверка является ли object типом Drawable. Потом идет сам код "((Drawable) object).draw();" и вот что интересно вот это (Drawable) пишется перед object пишется, что бы проверить является ли object типом Drawable. А это разве не тавтология? Или я чего-то не до конца понимаю?