code: private Event fileToEvent(File eventFile) {
          Object eventObj;
  
          try (FileInputStream fileInputStream = new FileInputStream(new File(eventFile.getAbsolutePath()));
               ObjectInputStream ois = new ObjectInputStream(fileInputStream)) {
              eventObj = ois.readObject();
          } catch (FileNotFoundException e) {
              // event was deleted while we were iterating the array of files
              return null;
          } catch (Exception e) {
              logger.error("Error reading Event file: " + eventFile.getAbsolutePath(), e);
              if (!eventFile.delete()) {
                  logger.warn("Failed to delete Event: " + eventFile.getAbsolutePath());
              }
              return null;
          }
  
          try {
              return (Event) eventObj;
          } catch (Exception e) {
              logger.error("Error casting Object to Event: " + eventFile.getAbsolutePath(), e);
              if (!eventFile.delete()) {
                  logger.warn("Failed to delete Event: " + eventFile.getAbsolutePath());
              }
              return null;
          }
      }
docs: Attempts to open and deserialize a single {@link Event} from a {@link File}.
  
  @param eventFile File to deserialize into an Event
  @return Event from the File, or null