@@ -0,0 +1,1475 @@
+/**%0A * Copyright 2015 Google Inc. All Rights Reserved.%0A *%0A * Licensed under the Apache License, Version 2.0 (the %22License%22);%0A * you may not use this file except in compliance with the License.%0A * You may obtain a copy of the License at%0A *%0A *      http://www.apache.org/licenses/LICENSE-2.0%0A *%0A * Unless required by applicable law or agreed to in writing, software%0A * distributed under the License is distributed on an %22AS IS%22 BASIS,%0A * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.%0A * See the License for the specific language governing permissions and%0A * limitations under the License.%0A */%0A%0Apackage com.google.devtools.cdbg.debuglets.java;%0A%0A/**%0A * Collects information about the identity of the end user at the breakpoint capture time.%0A *%0A * The class implementing this interface MUST collect the actual data in constructor, called by%0A * the thread hitting the breakpoint. The captured data is then formatted later when%0A * %7B@link UserIdProvider#format%7D is called on another thread. A new instance of this class will%0A * be created for each breakpoint.%0A */%0Ainterface UserIdProvider %7B%0A  /**%0A   * Formats the end user identity data collected at constructor.%0A   *%0A   * This function is called from debugger worker thread.%0A   *%0A   * @return a pair where the first entry is the kind of identity (e.g., GAIA id) and the second%0A   * entry is the actual identity data (e.g., user name), or null if end user id was not captured.%0A   */%0A  String%5B%5D format();%0A%7D%0A

Add UserIdProvider interface and BorgUserIdProvider implementation on Java side.