docs: public void externalNodeRemoved( String externalNodeKey ) {
          if (this.snapshot.get().containsProjectionForExternalNode(externalNodeKey)) {
              // the external node was the root of a projection, so we need to remove that projection
              synchronized (this) {
                  Snapshot current = this.snapshot.get();
                  Snapshot updated = current.withoutProjection(externalNodeKey);
                  if (current != updated) {
                      this.snapshot.compareAndSet(current, updated);
                  }
              }
          }
      }