code: public boolean markAsOnline(Tree info) {
  		long seq = info.get("seq", 0L);
  		if (seq < 1) {
  			throw new BrokerOptionsError("Invalid sequence number (" + seq + ")!", nodeID);
  		}
  		if (this.seq < seq) {
  			if (info == null || info.isEmpty()) {
  				throw new BrokerOptionsError("Empty or undefined info block (" + info.toString(false) + ")!", nodeID);
  			}
  			String host = getHostOrIP(preferHostname, info);
  			if (host == null || host.isEmpty()) {
  				throw new BrokerOptionsError("Empty or undefined hostname (" + host + ")!", nodeID);
  			}
  			int port = info.get("port", 0);
  			if (port < 1) {
  				throw new BrokerOptionsError("Invalid port number (" + port + ")!", nodeID);
  			}
  			this.seq = seq;
  			this.info = info;
  			this.offlineSince = 0;
  			this.host = host;
  			this.port = port;
  			cpuWhen = System.currentTimeMillis();
  			return true;
  		}
  		return false;
  	}
docs: --- MARK AS ONLINE ---