title: DataSnapshot is full and empty at the same time?
body: <p>I am working with Android Studio trying to use the Firebase Database.
  I'm running into the following problem.
  I want to create cards for multiple dinosaurs (these are in the Db).
  so what i tried is using the "onChildAdded" function provided by Firebase.
  Using a DataSnapshot i am trying to only add cards of dinosaurs that have not been "rated" yet by the user. (See it like a tinder app where people can like or dislike dinosaurs).</p>
  
  <p>Here is my code:</p>
  
  <pre><code>public int counter = 0;
      private void getDinos() {
          final DatabaseReference dinosDb = FirebaseDatabase.getInstance().getReference().child("Users").child("Dinos");
          dinosDb.addChildEventListener(new ChildEventListener() {
              @Override
              public void onChildAdded(@NonNull DataSnapshot dataSnapshot, @Nullable String s) {
                  if (dataSnapshot.exists()){
                      ArrayList&lt;String&gt; dinoList = new ArrayList&lt;String&gt;(){{ add("Allosaurus"); add("Ankylosaurus"); add("Baryonyx");add("Brachiosaurus");add("Carnotaurus");add("Dilophosaurus");add("Diplodocus");add("Gallimimus");  add("Giganotosaurus"); add("Iguanodon"); add("Megalosaurus"); add("Spinosaurus"); add("Stegosaurus"); add("Triceratops"); add("Tyrannosaurus"); add("Velociraptor");}};
                      if (!dataSnapshot.child(dinoList.get(i)).child("connections").child("like").hasChild(currentUId) &amp;&amp; !dataSnapshot.child(dinoList.get(i)).child("connections").child("dislike").hasChild(currentUId)) {
                          Log.d("mine", "" + dataSnapshot + dataSnapshot.child(dinoList.get(counter)).child("connections").child("dislike").hasChild(currentUId));//deze shit gaat dus fout
                          cards theItem = new cards(dataSnapshot.getKey(), (String) dataSnapshot.child(dinoList.get(i)).getKey());
                          rowItems.add(theItem);
                          arrayAdapter.notifyDataSetChanged();
                      }
                      counter++;
                  }
              }
  
              @Override
              public void onChildChanged(@NonNull DataSnapshot dataSnapshot, @Nullable String s) {
  
              }
  
              @Override
              public void onChildRemoved(@NonNull DataSnapshot dataSnapshot) {
  
              }
  
              @Override
              public void onChildMoved(@NonNull DataSnapshot dataSnapshot, @Nullable String s) {
  
              }
  
              @Override
              public void onCancelled(@NonNull DatabaseError databaseError) {
  
              }
          });
  }
  </code></pre>
  
  <p>As you can see i have a Log.d line on line 10 that logs the current dataSnapshot and right after if the current user has disliked that dinosaur.</p>
  
  <p>The first part of that log line correctly shows the dataSnapshot but the second part is always false for some reason.
  Below are the Logs of one run.</p>
  
  <pre><code>06-19 19:48:07.602 9671-9671/com.example.baksteen_13.dinopackopening 
  
  D/mine: DataSnapshot { key = Allosaurus, value = {dummy=Allosaurus, connections={dislike={eSUnb0kHS1eZByRpZyeRi9SrSfe2=eSUnb0kHS1eZByRpZyeRi9SrSfe2}}} }false
  06-19 19:48:07.604 9671-9671/com.example.baksteen_13.dinopackopening D/mine: DataSnapshot { key = Ankylosaurus, value = {dummy=Ankylosaurus, connections={dislike={eSUnb0kHS1eZByRpZyeRi9SrSfe2=eSUnb0kHS1eZByRpZyeRi9SrSfe2}}} }false
      DataSnapshot { key = Baryonyx, value = {dummy=Baryonyx, connections={dislike={eSUnb0kHS1eZByRpZyeRi9SrSfe2=eSUnb0kHS1eZByRpZyeRi9SrSfe2}}} }false
  06-19 19:48:07.605 9671-9671/com.example.baksteen_13.dinopackopening D/mine: DataSnapshot { key = Brachiosaurus, value = {dummy=Brachiosaurus, connections={like={eSUnb0kHS1eZByRpZyeRi9SrSfe2=eSUnb0kHS1eZByRpZyeRi9SrSfe2}, dislike={eSUnb0kHS1eZByRpZyeRi9SrSfe2=eSUnb0kHS1eZByRpZyeRi9SrSfe2}}} }false
  06-19 19:48:07.606 9671-9671/com.example.baksteen_13.dinopackopening D/mine: DataSnapshot { key = Carnotaurus, value = {dummy=Carnotaurus, connections={dislike={eSUnb0kHS1eZByRpZyeRi9SrSfe2=eSUnb0kHS1eZByRpZyeRi9SrSfe2}}} }false
  06-19 19:48:07.607 9671-9671/com.example.baksteen_13.dinopackopening D/mine: DataSnapshot { key = Dilophosaurus, value = {dummy=Dilophosaurus, connections={like={eSUnb0kHS1eZByRpZyeRi9SrSfe2=eSUnb0kHS1eZByRpZyeRi9SrSfe2}}} }false
  06-19 19:48:07.609 9671-9671/com.example.baksteen_13.dinopackopening D/mine: DataSnapshot { key = Diplodocus, value = {dummy=Diplodocus, connections={dislike={eSUnb0kHS1eZByRpZyeRi9SrSfe2=eSUnb0kHS1eZByRpZyeRi9SrSfe2}}} }false
  06-19 19:48:07.610 9671-9671/com.example.baksteen_13.dinopackopening D/mine: DataSnapshot { key = Gallimimus, value = {dummy=Gallimimus} }false
      DataSnapshot { key = Giganotosaurus, value = {dummy=Giganotosaurus} }false
      DataSnapshot { key = Iguanodon, value = {dummy=Iguanodon} }false
  06-19 19:48:07.611 9671-9671/com.example.baksteen_13.dinopackopening D/mine: DataSnapshot { key = Megalosaurus, value = {dummy=Megalosaurus} }false
      DataSnapshot { key = Spinosaurus, value = {dummy=Spinosaurus, connections={dislike={eSUnb0kHS1eZByRpZyeRi9SrSfe2=eSUnb0kHS1eZByRpZyeRi9SrSfe2}}} }false
  06-19 19:48:07.612 9671-9671/com.example.baksteen_13.dinopackopening D/mine: DataSnapshot { key = Stegosaurus, value = {dummy=Stegosaurus} }false
  06-19 19:48:07.613 9671-9671/com.example.baksteen_13.dinopackopening D/mine: DataSnapshot { key = Triceratops, value = {dummy=Triceratops} }false
      DataSnapshot { key = Tyrannosaurus, value = {dummy=Tyrannosaurus, connections={like={eSUnb0kHS1eZByRpZyeRi9SrSfe2=eSUnb0kHS1eZByRpZyeRi9SrSfe2}}} }false
  06-19 19:48:07.615 9671-9671/com.example.baksteen_13.dinopackopening D/mine: DataSnapshot { key = Velociraptor, value = {dummy=Velociraptor, connections={dislike={eSUnb0kHS1eZByRpZyeRi9SrSfe2=eSUnb0kHS1eZByRpZyeRi9SrSfe2}}} }false
  </code></pre>
  
  <p>As you can see most dinosaurs have already been rated but the true/false output is always false.</p>
  
  <p>Lastly here is a part of my Database:</p>
  
  <pre><code>    {
    "Users" : {
      "Dinos" : {
        "Allosaurus" : {
          "connections" : {
            "dislike" : {
              "eSUnb0kHS1eZByRpZyeRi9SrSfe2" : "eSUnb0kHS1eZByRpZyeRi9SrSfe2"
            }
          },
          "dummy" : "Allosaurus"
        },
        "Ankylosaurus" : {
          "connections" : {
            "dislike" : {
              "eSUnb0kHS1eZByRpZyeRi9SrSfe2" : "eSUnb0kHS1eZByRpZyeRi9SrSfe2"
            }
          },
          "dummy" : "Ankylosaurus"
        },
        "Baryonyx" : {
          "connections" : {
            "dislike" : {
              "eSUnb0kHS1eZByRpZyeRi9SrSfe2" : "eSUnb0kHS1eZByRpZyeRi9SrSfe2"
            }
          },
          "dummy" : "Baryonyx"
        },
        "Brachiosaurus" : {
          "connections" : {
            "dislike" : {
              "eSUnb0kHS1eZByRpZyeRi9SrSfe2" : "eSUnb0kHS1eZByRpZyeRi9SrSfe2"
            },
            "like" : {
              "eSUnb0kHS1eZByRpZyeRi9SrSfe2" : "eSUnb0kHS1eZByRpZyeRi9SrSfe2"
            }
          },
          "dummy" : "Brachiosaurus"
        }
      },
      "Human" : {
        "1ngP9WzFw9MZU6AiGVgo08orpvA3" : {
          "name" : "klaas"
        },
        "5O2eVDdQs6eAYCykNorMzGd66Ys2" : {
          "name" : "jetske"
        },
        "AGGUm2y3OAQzJJWEmFXkPPJVsS23" : {
          "name" : "johan"
        }
      }
    },
    "message" : "Hello, World!"
  }
  </code></pre>
  
  <p>I would really appreciate it if someone could provide some insight on what i am doing wrong here. I'm really new to Android Studio and this is only a school project so it doesn't matter if the solution is a really bad one. If it works it works.</p>