code: public void harvest(RtpPortManager portManager) throws HarvestException, NoCandidatesGatheredException {
  		// Initialize the selector if necessary
  		if (this.selector == null || !this.selector.isOpen()) {
  			try {
  				this.selector = Selector.open();
  			} catch (IOException e) {
  				throw new HarvestException("Could not initialize selector", e);
  			}
  		}
  
  		// Gather candidates for each media stream
  		for (IceMediaStream mediaStream : getMediaStreams()) {
  			this.harvestManager.harvest(mediaStream, portManager, this.selector);
  		}
  	}
docs: Gathers all available candidates and sets the components of each media
  stream.
  
  @param portManager
  The manager that handles port range for ICE candidate harvest
  @throws HarvestException
  An error occurred while harvesting candidates