class InMemorySecurityMaster extends SimpleAbstractInMemoryMaster<SecurityDocument> implements SecurityMaster {

  @Override
  public void remove(final ObjectIdentifiable objectIdentifiable) {
    ArgumentChecker.notNull(objectIdentifiable, "objectIdentifiable");
    SecurityDocument removedDocument = _store.remove(objectIdentifiable.getObjectId()); 
    if (removedDocument == null) {
      throw new DataNotFoundException("Security not found: " + objectIdentifiable);
    }
    _changeManager.entityChanged(ChangeType.REMOVED, objectIdentifiable.getObjectId(), null, null, Instant.now());
    _externalIdCache.remove(removedDocument.getSecurity());
  }

  public  InMemorySecurityMaster();
  public  InMemorySecurityMaster(final ChangeManager changeManager);
  public  InMemorySecurityMaster(final Supplier<ObjectId> objectIdSupplier);
  public  InMemorySecurityMaster(final Supplier<ObjectId> objectIdSupplier, final ChangeManager changeManager);

}