@Override
    public void addChild(Location parent, Location newChild) {
      if (this.manager != null) {
        parent.getChildLocations().add(newChild);
        newChild.setParentLocation(parent);

        manager.persistLocation(newChild);
      }
    }
 @Override
 public List<Location> getChildren(Location item) {
   return new ArrayList<Location>(item.getChildLocations());
 }
 @Override
 public boolean hasChildren(Location item) {
   return item.getChildLocations().size() > 0;
 }