@@ -0,0 +1,1394 @@
+/*%0A * Copyright (C) 2017 The Android Open Source Project%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 android.support.annotation;%0A%0Aimport java.lang.annotation.ElementType;%0Aimport java.lang.annotation.Retention;%0Aimport java.lang.annotation.RetentionPolicy;%0Aimport java.lang.annotation.Target;%0A%0A/**%0A * Denotes that the annotated method or field can only be accessed when holding the referenced lock.%0A * %3Cp%3E%0A * Example:%0A * %3Cpre%3E%0A * final Object objectLock = new Object();%0A *%0A * %7B@literal @%7DGuardedBy(%22objectLock%22)%0A * volatile Object object;%0A *%0A * Object getObject() %7B%0A *     synchronized (objectLock) %7B%0A *         if (object == null) %7B%0A *             object = new Object();%0A *         %7D%0A *     %7D%0A *     return object;%0A * %7D%3C/pre%3E%0A */%0A@Target(%7B ElementType.FIELD, ElementType.METHOD %7D)%0A@Retention(RetentionPolicy.CLASS)%0Apublic @interface GuardedBy %7B%0A    String value();%0A%7D%0A

Add GuardedBy annotation to support lib.