public Observable<List<Message>> fetchMessageByType(Message.Type type) {
   return Observable.create(
       subscriber -> {
         if (!isClosed()) {
           List<Message> messages = null;
           final String whereClause = "message_type = ?";
           try {
             messages =
                 cupboard()
                     .withDatabase(getReadableDatabase())
                     .query(Message.class)
                     .withSelection(whereClause, type.name())
                     .orderBy("messages_date DESC")
                     .list();
           } catch (Exception e) {
             subscriber.onError(e);
           }
           if (messages != null) {
             subscriber.onNext(messages);
             subscriber.onCompleted();
           } else {
             subscriber.onError(new MessageNotFoundException());
           }
         } else {
           subscriber.onError(new Exception());
         }
       });
 }
 public List<Message> fetchMessage(Message.Type type) {
   List<Message> messages = new ArrayList<Message>();
   final String whereClause = "message_type = ?";
   try {
     messages =
         cupboard()
             .withDatabase(getReadableDatabase())
             .query(Message.class)
             .withSelection(whereClause, type.name())
             .orderBy("messages_date DESC")
             .list();
   } catch (Exception e) {
     e.printStackTrace();
   }
   return messages;
 }