I am making a chat app, and I have a Firebase with following Structure. Chat1,Chat2,Chat3... is used for saving data of different Chat groups. Message1,Message2,Message3 are Messages inside 1st group., It can be from any author.
Chats
- Chat1
- Message1
- Author1
 - MessageText
 
 - Message2
- Author2
 - MessageText
 
 - Message3
- Author1
 - MessageText
 
 
 - Message1
 - Chat2
- Message1
- Author3
 - MessageText
 
 - Message2
- Author4
 - MessageText
 
 - Message3
- Author1
 - MessageText
 
 
 - Message1
 - Chat3
 
I want to retrieve the list of all Messages from "Author 1". Meaning Message1,Message3 should be retrieved from Chat1 and Message3 also should get retrieved from Chat2. I want to display all messages from 1 author.
ref = new Firebase(FIREBASE_URL); //Root URL
ref.addValueEventListener(new ValueEventListener() {
    @Override
    public void onDataChange(DataSnapshot dataSnapshot) {
         for (DataSnapshot child : dataSnapshot.getChildren()) {
                 for (DataSnapshot childd : child.getChildren()) {
                     //This might work but it retrieves all the data
                    }
                }
    }
    @Override
    public void onCancelled() {
    }
});
This Gives me entire data! How do I restrict it to "Author1"?