code: public static File resolveResource(String resourceLocation,
              String localPath,
              String localFileName)
              throws ResourceDownloadError {
          if (nulls(resourceLocation, localPath, localFileName)) {
              throw new InvalidArgument("null argument(s) provided");
          }
  
          createDirectories(localPath);
  
          StringBuilder builder = new StringBuilder();
          builder.append(localPath).append(File.separator).append(localFileName);
  
          // resolve resource
          File resourceFile = resolver.resolveResource(resourceLocation,
                  builder.toString());
          return resourceFile;
      }
docs: Resolves a resource location to a local path.
  
  @param resourceLocation {@link String}, the resource location that
  defines where to pull the file, which cannot be null
  @param localPath {@link String}, the local path to store the resource
  at, which cannot be null
  @param localFileName {@link String}, the local file name to store the
  resource as, which cannot be null
  @return {@link File}, the resource resolved to a local file
  @throws ResourceDownloadError Thrown if a resource download error
  occurred while resolving the resource location
  @throw {@link InvalidArgument} Thrown if any arguments are null