@Override
  public void acceptRepresentation(Representation entity) throws ResourceException {
    PhonebookEntryRepresentation representation = new PhonebookEntryRepresentation(entity);
    PhonebookEntry newEntry = representation.getObject();
    if (!validatePhonebookEntry(newEntry)) {
      return;
    }

    if (m_phonebookManager.getDuplicatePhonebookEntry(newEntry, getUser()) != null) {
      setDuplicateEntryStatus();
      return;
    }

    User user = getUser();
    Phonebook privatePhonebook = m_phonebookManager.getPrivatePhonebookCreateIfRequired(user);
    newEntry.setPhonebook(privatePhonebook);
    (privatePhonebook.getEntries()).add(newEntry);
    m_phonebookManager.savePhonebook(privatePhonebook);
  }
  @Override
  public void storeRepresentation(Representation entity) throws ResourceException {
    PhonebookEntryRepresentation representation = new PhonebookEntryRepresentation(entity);
    PhonebookEntry newEntry = representation.getObject();
    if (!validatePhonebookEntry(newEntry)) {
      return;
    }

    PhonebookEntry duplicateEntry =
        m_phonebookManager.getDuplicatePhonebookEntry(newEntry, getUser());
    if (duplicateEntry != null && !duplicateEntry.getId().equals(Integer.parseInt(m_entryId))) {
      setDuplicateEntryStatus();
      return;
    }

    Phonebook privatePhonebook = m_phonebookManager.getPrivatePhonebook(getUser());
    if (privatePhonebook != null) {
      newEntry.setPhonebook(privatePhonebook);
      PhonebookEntry entry = m_phonebookManager.getPhonebookEntry(Integer.parseInt(m_entryId));
      entry.update(newEntry);
      m_phonebookManager.updatePhonebookEntry(entry);
    }
  }