code: public URL buildUrl(final TmdbParameters params) {
          StringBuilder urlString = new StringBuilder(TMDB_API_BASE);
  
          LOG.trace("Method: '{}', Sub-method: '{}', Params: {}", method.getValue(), submethod.getValue(),
                  ToStringBuilder.reflectionToString(params, ToStringStyle.SHORT_PREFIX_STYLE));
  
          // Get the start of the URL, substituting TV for the season or episode methods
          if (method == MethodBase.SEASON || method == MethodBase.EPISODE) {
              urlString.append(MethodBase.TV.getValue());
          } else {
              urlString.append(method.getValue());
          }
  
          // We have either a queury, or a ID request
          if (params.has(Param.QUERY)) {
              urlString.append(queryProcessing(params));
          } else {
              urlString.append(idProcessing(params));
          }
  
          urlString.append(otherProcessing(params));
  
          try {
              LOG.trace("URL: {}", urlString.toString());
              return new URL(urlString.toString());
          } catch (MalformedURLException ex) {
              LOG.warn("Failed to create URL {} - {}", urlString.toString(), ex.getMessage());
              return null;
          }
      }
docs: Build the URL from the pre-created parameters.
  
  @param params The parameters for the method
  @return Builder object