I have an object (object1) that contains a list of other objects(List).
How do I check if the list contains a specific object(Object2) and if it does, how do I return the first object (object1)?

Some code for clarification

Domain class:

```
public class Parent
{
    public int ParentId { get; set; }
    public virtual IList<Kid> Kids { get; set; } //This is the list 

    //Unimportant code
    public virtual IEnumerable<Adres> Adressen
    { get; set; }

    public virtual IEnumerable<string> Emails { get; set; }

    public virtual IEnumerable<string> Telefoonnummers { get; set; }

    public Ouder()
    {
        Kinderen = new List<Lid>();
        Adressen = new List<Adres>();
    }
}

public Parent FindByKid(int kidId)
{
    Kid kid = kids.FirstOrDefault(l => l.KidId == kidId);
    foreach(Parent parent in parents)
    {
        foreach(Kid kid in parent.Kids)
        {
            if(kid.KidId == kidId)
            {
                return parent;
            }
        }
    }
    return null;
}

```

As you can see, I already came up with a way. But I think there has to be a way to do this in a much better way. I tried using Linq but I'm unable to come with a working solution.