Eric,
An Access method fires when you access a property, the argument you put in the parens is interpreted as an index into the array property and that is your access. The argument in the parens is NOT passed to the access method.
If you want the behavior you are asking for you can do it by providing a method that accepts the parameter. Hide or Protect the colleciton property and only allow it to be gotten to by calling the method. I would name the method Collection as well so the interface is clear.