code: public Set<DeviceAnnouncement> getCurrentDevices() {
          if (!isRunning()) {
              throw new IllegalStateException("DeviceFinder is not active");
          }
          expireDevices();  // Get rid of anything past its sell-by date.
          // Make a copy so callers get an immutable snapshot of the current state.
          return Collections.unmodifiableSet(new HashSet<DeviceAnnouncement>(devices.values()));
      }
docs: Get the set of DJ Link devices which currently can be seen on the network. These can be passed to
  {@link VirtualCdj#getLatestStatusFor(DeviceUpdate)} to find the current detailed status for that device,
  as long as the Virtual CDJ is active.
  
  @return the devices which have been heard from recently enough to be considered present on the network
  
  @throws IllegalStateException if the {@code DeviceFinder} is not active