public void tick() {

        peersManager.tick();
        choker.tick();


        Long waitTime = activeTracker.getInterval();
        if (incomingPeerListener.getReceivedConnection() == 0 || peersManager.getActivePeersNumber() < 4) {
            waitTime = activeTracker.getMinInterval() != null ? activeTracker.getMinInterval() : 60;
        }

        long now = System.currentTimeMillis();
        if (now - activeTracker.getLastRequestTime() >= waitTime * 1000) {

            if (!stopped) {
                try {
                    Object peers = trackerRequest(null).get(ByteBuffer.wrap("peers".getBytes()));
                    if (peers != null) {
                        addPeers(peers);
                    }
                } catch (Exception e) {
                    e.printStackTrace();
                }
            }
        }
    }