public boolean isMatch() {if (heads.isEmpty())return false;final ListIterator<Head> headIterator = heads.listIterator(heads.size());while (headIterator.hasPrevious()) {final Head head = headIterator.previous();if (head == LastHead.INSTANCE) {return true;}}return false;}

public virtual bool IsMatch(){ListIterator<Head> headIterator = heads.ListIterator(heads.Count);while (headIterator.HasPrevious()){Head head = headIterator.Previous();if (head == LastHead.INSTANCE){return true;}}return false;}
