### Question:
AuthorizableWrapperImpl implements AuthorizableWrapper { @Override public String getId() { try { return authorizable.getID(); } catch (RepositoryException e) { log.error("Failed to get ID from authorizable: {}", authorizable, e); return null; } } AuthorizableWrapperImpl(ResourceResolver resolver);  AuthorizableWrapperImpl(Resource resource); @Override Authorizable getAuthorizable(); @Override Iterator<Authorizable> getDeclaredMembers(); @Override Iterator<Group> getDeclaredMembership(); @Override Iterator<String> getGroupNames(); @Override String getId(); @Override Iterator<Authorizable> getMembers(); @Override Iterator<Group> getMembership(); @Override boolean isAdministrator(); @Override boolean isMember(String groupName);  }### Answer:
@Test public void testGetId() throws AccessDeniedException, UnsupportedRepositoryOperationException, RepositoryException { AuthorizableWrapper authWrapper = new AuthorizableWrapperImpl(userResource); assertEquals("123", authWrapper.getId()); authWrapper = new AuthorizableWrapperImpl(throwyResource); assertNull(authWrapper.getId()); }