public void addOrUpdate(GridContact contact) {
   if (contact.getId() <= 0) {
     int id = this.gridContactStore.size() + 1;
     contact.setId(id);
     this.gridContactStore.put(id, contact);
   } else {
     this.gridContactStore.put(contact.getId(), contact);
   }
 }
  @PostConstruct
  public void readData() throws IOException {
    this.gridContactStore = new HashMap<>();
    try (InputStream is = this.contacts.getInputStream()) {

      ObjectMapper om = new ObjectMapper();
      List<GridContact> ci =
          om.readValue(
              is,
              new TypeReference<List<GridContact>>() {
                /* nothing_here */
              });

      for (GridContact contact : ci) {
        this.gridContactStore.put(contact.getId(), contact);
      }
    }

    this.totalSize = this.gridContactStore.size();
  }
 public void delete(GridContact contact) {
   this.gridContactStore.remove(contact.getId());
 }