// Recovered homes are the ones with a name different from the file path
if (home.getName() == null
|| !file.equals(new File(home.getName()))) {
home.setRecovered(true);
// Delete recovered file once home isn't recovered anymore
home.addPropertyChangeListener(Home.Property.RECOVERED, new PropertyChangeListener() {
public void propertyChange(PropertyChangeEvent evt) {
if (!home.isRecovered()) {
file.delete();
}
}