diff --git a/core/src/main/java/jenkins/slaves/JnlpAgentReceiver.java b/core/src/main/java/jenkins/slaves/JnlpAgentReceiver.java
index 369bd122dc9cf22482b07487426f78fffd793270..3b62724cdab1006f94e6021ebbdf87fe905a5fa4 100644
--- a/core/src/main/java/jenkins/slaves/JnlpAgentReceiver.java
+++ b/core/src/main/java/jenkins/slaves/JnlpAgentReceiver.java
@@ -15,6 +15,14 @@ import org.jenkinsci.remoting.engine.JnlpConnectionStateListener;
*
* This is useful to establish the communication with other JVMs and use them
* for different purposes outside {@link Slave}s.
+
+ *
+ * - When the exists method is invoked for an agent, the owns method is called on all the extension points: if no owner is found an exception is thrown.
+ * - If owner is found, then the {@link org.jenkinsci.remoting.engine.JnlpConnectionState} lifecycle methods are invoked for all registered {@link JnlpConnectionStateListener} until the one which changes the state of {@link org.jenkinsci.remoting.engine.JnlpConnectionState} by setting an approval or rejected state is found.
+ * When found, that listener will be set as the owner of the incoming connection event.
+ * - Subsequent steps of the connection lifecycle are only called on the {@link JnlpAgentReceiver} implementation owner for that connection event.
+ *
+ *
*
* @author Kohsuke Kawaguchi
* @since 1.561