private DHT[] getDHTs() {
    if (dhts == null) {

      try {
        PluginManager pm = core.getPluginManager();

        if (pm.isInitialized()) {

          PluginInterface dht_pi = pm.getPluginInterfaceByClass(DHTPlugin.class);

          if (dht_pi == null) {

            dhts = new DHT[0];

          } else {

            DHTPlugin plugin = (DHTPlugin) dht_pi.getPlugin();

            if (!plugin.isInitialising()) {

              if (plugin.isEnabled()) {

                dhts = ((DHTPlugin) dht_pi.getPlugin()).getDHTs();

              } else {

                dhts = new DHT[0];
              }
            }
          }
        }
      } catch (Throwable e) {

        dhts = new DHT[0];
      }
    }

    return (dhts);
  }