code: protected void handleCacheRequest(Address sender) {
          int view_size=view != null? view.size() : 0;
          if(view_size == 0)
              return;
          for(Address addr: view.getMembersRaw()) {
              if(Objects.equals(addr, sender))
                  continue;
              String logical_name=NameCache.get(addr);
              if(logical_name == null)
                  continue;
              Header hdr=new Header(Type.CACHE_RSP, addr, logical_name);
              Message msg=new Message(sender).putHeader(id, hdr);
              if(log.isTraceEnabled())
                  log.trace("%s: sending %s to %s", local_addr, hdr, sender);
              try {
                  down_prot.down(msg);
              }
              catch(Throwable t) {
                  log.error("failed sending CACHE_RSP", t);
              }
          }
      }
docs: Typically received by the coord, which sends its cache contents to the sender (new joiner). However, we don't
  send one large message, but rather N messages (1 per cluster member). The reason is that we don't know where in
  the stack NAMING will be running and therefore cannot assume fragmentation of large messages.