diff --git a/DeveloperFAQ.wiki b/DeveloperFAQ.wiki
index 4b52114..f437df7 100644
--- a/DeveloperFAQ.wiki
+++ b/DeveloperFAQ.wiki
@@ -48,10 +48,33 @@
 
 Implement `com/google/enterprise/adaptor/PollingIncrementalLister` which has a single method `getModifiedDocIds(DocIdPusher pusher)` . When initializing the Adaptor, register with `AdaptorContext.setPollingIncrementalLister(yourLister)`.
 
-* In the connector code, how do I check if GSA is giving if-modified-since? 
+* How do I check if GSA is giving if-modified-since? 
 
 [http://hourly.plexi.googlecode.com/git/javadoc/com/google/enterprise/adaptor/Request.html#hasChangedSinceLastAccess(java.util.Date) Request.hasChangedSinceLastAccess()]
 
-* In the connector code, how do I give the last-modified to the GSA?
+* How do I give last-modified time to the GSA?
 
-[http://hourly.plexi.googlecode.com/git/javadoc/com/google/enterprise/adaptor/Response.html#setLastModified(java.util.Date) Response.setLastModified()]
\ No newline at end of file
+[http://hourly.plexi.googlecode.com/git/javadoc/com/google/enterprise/adaptor/Response.html#setLastModified(java.util.Date) Response.setLastModified()]
+
+* How do I give back a verified identify when writing my own authenticateUser method?
+
+Use the callback passed to [http://documentation.plexi.googlecode.com/git-history/v4.0.1/javadoc/com/google/enterprise/adaptor/AuthnAuthority.Callback.html#userAuthenticated(com.sun.net.httpserver.HttpExchange, com.google.enterprise.adaptor.AuthnIdentity) authenticateUser()] .  This callback will result in sending verified identity information to the GSA via SAML (the SAML is handled by the library). Note that the 2nd argument of this callback is an AuthnIdentity.  The AuthnIdentity is where you can provide the user name and groups which have been verified. Here is an example of an AuthnIdentity that you can provide to the callback:
+{{{
+      AuthnIdentity identity = new AuthnIdentity() {
+
+        @Override
+        public UserPrincipal getUser() {
+          return user;
+        }
+
+        @Override
+        public String getPassword() {
+          return null;
+        }
+
+        @Override
+        public Set<GroupPrincipal> getGroups() {
+          return groups;
+        }
+      };
+}}}
\ No newline at end of file
