public ArrayList<Message> fetchFeed()
   {
       ArrayList<Message> messages = new ArrayList<>();
       try
       {
           String title = "";
           String description = "";
           
           XMLInputFactory inputFactory = XMLInputFactory.newInstance();
           InputStream in = read();
           XMLEventReader eventReader = inputFactory.createXMLEventReader(in);
           while(eventReader.hasNext())
           {
               XMLEvent event = eventReader.nextEvent();
               if(event.isStartElement())
               {
                   String localPart = event.asStartElement().getName().getLocalPart();
                   switch(localPart)
                   {
                       case "title":
                           title = getCharacterData(event, eventReader);
                           break;
                       case "description":
                           description = getCharacterData(event, eventReader);
                           break;
                   }
               }
               else if(event.isEndElement())
               {
                   if(event.asEndElement().getName().getLocalPart().equals("item"))
                   {
                       title = title.replaceAll("\t", "  ");
                       description = description.replaceAll("\t", "  ");
                       Message message = new Message(title, description);
                       messages.add(message);
                   }
               }
           }
       }
       catch(XMLStreamException e)
       {
           throw new RuntimeException(e);
       }
       return messages;
   }