I will reply to myself :) - I read JCA specification and I found:
"Connection Matching Contract
The application server invokes the ManagedConnectionFactory.matchManagedConnections method (implemented by a resource adapter) to find a matching ManagedConnection for servicing a connection request. The application server passes a candidate set of ManagedConnection instances to the matchManagedConnections method.
Chapter 6 Connection Management 6-236.5.4.4
The application server should use the connection matching contract for ManagedConnection instances that have no existing connection handles. A candidate set passed to the matchManagedConnections method should not have any ManagedConnection instances with existing connection handles."
Now ManagedConnectionFactory.matchManagedConnections is called.