title: StackOverflowError on recursive method
body: <p>I get a StackOverflowError when using a recursive method. I am building on top of the Spigot API.</p>
  
  <p>This is my method:</p>
  
  <pre><code>private Location spawnPlayer(Player p) {
      int r = new Random().nextInt(ServerManager.getInstance().getServer(p).getSpawns().size());
      final Spawn s = ServerManager.getInstance().getServer(p).getSpawns().get(r);
  
      if (s.hasPlayer()) {
          spawnPlayer(p);
      } else {
          s.setPlayer(p);
  
          Bukkit.getServer().getScheduler().scheduleSyncRepeatingTask(Arsenal.p, new Runnable() {
              public void run() {
                  spawnClear--;
  
                  if (spawnClear == 0) {
                      s.setPlayer(null);
                  }
              }
          }, 0L, 20L);
      }
      return s.getLocation();
  }
  </code></pre>
  
  <p>I get the error at <code>spawnPlayer(p)</code>, which calls itself if the spawn already has a player.</p>