JsonMappingException: nenhum construtor adequado encontrado

Estou implementando um exemplo de base de firma, conforme fornecido nas documentações. Estou enfrentando este erro:

com.fasterxml.jackson.databind.JsonMappingException: nenhum construtor adequado encontrado para o tipo [tipo simples, classe com.XYZ. $ BlogPost]: não é possível instanciar o objeto JSON (é necessário adicionar / ativar informações de tipo?)

Aqui está o meu código:

    public class MainActivity extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_user);
        Firebase.setAndroidContext(this);
    }

    @Override
    protected void onStart() {
        super.onStart();
        // Get a reference to our posts
        Firebase ref = new Firebase("https://docs-examples.firebaseio.com/web/saving-data/fireblog/posts");
        // Attach an listener to read the data at our posts reference
        ref.addValueEventListener(new ValueEventListener() {
            @Override
            public void onDataChange(DataSnapshot snapshot) {
                System.out.println("There are " + snapshot.getChildrenCount() + " blog posts");
                for (DataSnapshot postSnapshot: snapshot.getChildren()) {
                    BlogPost post = postSnapshot.getValue(BlogPost.class);
                    System.out.println(post.getAuthor() + " - " + post.getTitle());
                }
            }
            @Override
            public void onCancelled(FirebaseError firebaseError) {
                System.out.println("The read failed: " + firebaseError.getMessage());
            }
        });
    }
public class BlogPost {
        private String author;
        private String title;
        public BlogPost() {
            // empty default constructor, necessary for Firebase to be able to deserialize blog posts
        }
        public String getAuthor() {
            return author;
        }
        public String getTitle() {
            return title;
        }
    }
}

Passei por muitas perguntas sobre a mesma coisa dizendo para incluir o construtor vazio necessário para desserializar o JSON. Incluí isso, mas ainda não consigo resolver o problema. Este é o JSON que estou tentando desserializar:

{  
   "-JRHTHaIs-jNPLXOQivY":{  
      "author":"gracehop",
      "title":"Announcing COBOL, a New Programming Language"
   },
   "-JRHTHaKuITFIhnj02kE":{  
      "author":"alanisawesome",
      "title":"The Turing Machine"
   }
}

Não sei o que está faltando no meu código. Qualquer ajuda para recuperar isso é apreciada.