After completing the first two requirements, I just started trying different things. I started going through the description rather than the requirements and added food.onSelect(); food.onEat(); in the foodMethods method to see if the third requirement would pass, and the entire exercise passed. What confuses me even more is that there's nothing in the selectableMethods method, even though the exercise told me to put something there. My code: public class Solution { public static void main(String[] args) { Food food = new Food(); // food object is created Selectable selectable = new Food(); // selectable object is created with the same constructor as the food object Food newFood = (Food) selectable; // newFood object is created with selectable as a constructor foodMethods(food); // The foodMethods method is called with food as an argument selectableMethods(selectable); // The selectableMethods method is called with selectable as an argument } public static void foodMethods(Food food) { //write your code here // The onEat method must be called from the foodMethods method. food.onSelect(); food.onEat(); } public static void selectableMethods(Selectable selectable) { //write your code here } public static void onEat(Food food){ } interface Selectable { void onSelect(); } static class Food implements Selectable { public void onEat() { System.out.println("The food was eaten"); } @Override public void onSelect() { System.out.println("The food was selected"); } } }