title: Obtaining the reference and key in Custom Object Firebase Android
body: <p>I'm looking to pass the reference of the dataSnapshot and key of each specific object into a custom 'Message' object.</p>
  
  <p>I've tried using the key 'String key' within the Message.class but it appears to come back null.</p>
  
  <p>Here is how my Message object currently is:</p>
  
  <pre><code>public class Message {
  
      private String key;
      private String sender_id;
      private String sender_username;
      private String receiver_username;
      private String receiver_id;
      private String chat_id;
      private String message;
      private Firebase ref;
      private double createdAt;
      private boolean read;
  
      public Message() {
          // empty default constructor, necessary for Firebase to be able to deserialize messages
      }
  
      public String getKey() { return key; }
      public String getSender_id() { return sender_id; }
      public String getSender_username() { return sender_username; }
      public String getReceiver_username() { return receiver_username; }
      public String getReceiver_id() { return receiver_id; }
      public String getChat_id() { return chat_id; }
      public String getMessage() { return message; }
      public Firebase getRef() { return ref; }
      public double getCreatedAt() { return createdAt; }
      public boolean getRead() { return read; }
  
  }
  </code></pre>
  
  <p>Any ideas, how I properly pass the dataSnapshot.getKey() String to the custom object? I don't see an example on the Firebase docs, and to be clear I'm using the "legacy Firebase", before they updated.</p>