public BinomialHeapNode <T> Find(T toFind) { BinomialHeapNode <T> found = null; if (Value.Equals(toFind)) { return(this); } else if (Sibling != null) { found = Sibling.Find(toFind); } if (Value.CompareTo(toFind) < 0 && found == null) { if (Child != null) { found = Child.Find(toFind); } } return(found); }