CheckForComponent needs a public GameObject, FsmGameObject or FsmOwnerDefault, this basically means u can always set a other gameobject than the owner.
We have a custom toggle action that works on so called "Linked" gameobjects and is basically just a component that wraps a List<Gameobject>.
This action should always use/look for this "Linked" component on the same gameobject the Fsm is, since we want a easy to understand setup/use relation. This means a Fsm should only use the List provided by the owning gameobject and not remotely use a other gameobjects Linked component.
So this actions needs to check for such a List component if u want to use it, but CheckForComponent needs at least a "public FsmOwnerDefault", which will allow u to change it from Owner to "gameObject".
Its not a big deal, since artists probably wont work with the Fsm states, i just thought i bring this up, since it works differently from the Unity "RequireComponent" logic.
bye Andy