code: public synchronized void register(String id, MapInterceptor interceptor) {
          assert !(Thread.currentThread() instanceof PartitionOperationThread);
  
          if (id2InterceptorMap.containsKey(id)) {
              return;
          }
  
          Map<String, MapInterceptor> tmpMap = new HashMap<>(id2InterceptorMap);
          tmpMap.put(id, interceptor);
  
          id2InterceptorMap = unmodifiableMap(tmpMap);
  
          List<MapInterceptor> tmpInterceptors = new ArrayList<>(interceptors);
          tmpInterceptors.add(interceptor);
  
          interceptors = unmodifiableList(tmpInterceptors);
      }
docs: Registers a {@link MapInterceptor} for the supplied `id`.
  If there is no registration associated with the `id`, registers interceptor,
  otherwise silently ignores registration.
  
  This method is called by {@link com.hazelcast.spi.impl.operationexecutor.impl.GenericOperationThread}
  when registering via {@link com.hazelcast.map.impl.operation.AddInterceptorOperation}
  
  @param id          ID of the interceptor
  @param interceptor supplied {@link MapInterceptor}