code: public void start(final InetAddress[] bindAddresses,
                      final int announceIntervalSec,
                      final URI defaultTrackerURI,
                      final SelectorFactory selectorFactory) throws IOException {
      start(bindAddresses, announceIntervalSec, defaultTrackerURI, selectorFactory,
              new FirstAvailableChannel(6881, 6889));
    }
docs: Runs client instance and starts announcing, seeding and downloading of all torrents from storage
  
  @param bindAddresses       list of addresses which are used for sending to the tracker. Current client
  must be available for other peers on the addresses
  @param announceIntervalSec default announce interval. This interval can be override by tracker
  @param defaultTrackerURI   default tracker address.
  All torrents will be announced not only on the trackers from metadata file but also to this tracker
  @param selectorFactory     factory for creating {@link java.nio.channels.Selector} instance.
  @throws IOException if any io error occurs