package com.firebase.ui.database;

import com.google.firebase.database.DatabaseReference;

public interface FirebaseAdapter<T> extends ChangeEventListener, SnapshotParser<T> {

    /**
     * If you need to do some setup before the adapter starts listening for change events in the
     * database, do so it here and then call {@code super.startListening()}.
     */
    void startListening();

    /**
     * Removes listeners and clears all items in the backing {@link FirebaseArray}.
     */
    void cleanup();

    T getItem(int position);

    DatabaseReference getRef(int position);
}

@@ -28,16 +28,63 @@
 abase;%0A%0A
+import android.support.annotation.RestrictTo;%0A%0A
 import c
@@ -135,15 +135,52 @@
 e;%0A%0A
-public 
+@RestrictTo(RestrictTo.Scope.LIBRARY_GROUP)%0A
 inte

Make FirebaseAdapter protected