code: public static Game of(GameType type, String name, String url)
      {
          Checks.notNull(type, "Type");
          switch (type)
          {
              case DEFAULT:
                  return playing(name);
              case STREAMING:
                  return streaming(name, url);
              case LISTENING:
                  return listening(name);
              case WATCHING:
                  return watching(name);
              default:
                  throw new IllegalArgumentException("GameType " + type + " is not supported!");
          }
      }
docs: Creates a new Game instance with the specified name and url.
  <br>The provided url would only be used for {@link net.dv8tion.jda.core.entities.Game.GameType#STREAMING GameType.STREAMING}
  and should be a twitch url.
  
  @param  type
  The {@link net.dv8tion.jda.core.entities.Game.GameType GameType} to use
  @param  name
  The not-null name of the newly created game
  @param  url
  The streaming url to use, required to display as "streaming".
  
  @throws IllegalArgumentException
  If the specified name is null or empty
  
  @return A valid Game instance with the provided name and url
  
  @see    #isValidStreamingUrl(String)