Ребята по рекомендуйте толковую статью или видео по методам. Я много раз перечитывал статьи тут на данную тему, читал другие статьи но меня до сих пор вводят в ступор подобные методы: public static void removeCats(Set<Object> pets, Set<Cat> cats) Перед данной задачей была лишь одна в 7 уровне, в которой терялся в методах и их параметрах. Стыдно блин, но я тут что бы учиться... То есть я понимаю, что метод возвращает коллекцию сет с значением object и названием pets, а так же коллекцию сет со значением класса Cat и названием cats, но как именно прописывать данный метод что бы он передавал то что надо и компилятор не ругался я хрен знает... И как другой метод должен правильно вызывать этот.
package com.javarush.task.task08.task0820;

import java.util.HashSet;
import java.util.Set;

/*
Множество всех животных
*/

public class Solution {
    public static void main(String[] args) {
        Set<Cat> cats = createCats();
        Set<Dog> dogs = createDogs();

        Set<Object> pets = join(cats, dogs);
        printPets(pets);

        removeCats(pets, cats);
        printPets(pets);
    }

    public static Set<Cat> createCats() {
        HashSet<Cat> result = new HashSet<Cat>();

        //напишите тут ваш код

        return result;
    }

    public static Set<Dog> createDogs() {
        //напишите тут ваш код
        return null;
    }

    public static Set<Object> join(Set<Cat> cats, Set<Dog> dogs) {
        //напишите тут ваш код
        return null;
    }

    public static void removeCats(Set<Object> pets, Set<Cat> cats) {
        //напишите тут ваш код
    }

    public static void printPets(Set<Object> pets) {
        //напишите тут ваш код
    }

    //напишите тут ваш код
}