code: public <T extends Object> Map<String, Object> checkForRequiredParameters(String endpoint, @Sensitive Map<String, T> responseValues, String... requiredParams) {
          if (responseValues == null) {
              if (tc.isDebugEnabled()) {
                  Tr.debug(tc, "The provided response values map is null, so all required parameters will be determined to be missing");
              }
          }
          List<String> missingParams = new ArrayList<String>();
          for (String param : requiredParams) {
              if (responseValues == null || !responseValues.containsKey(param)) {
                  missingParams.add(param);
              }
          }
          if (!missingParams.isEmpty()) {
              return createErrorResponse("TWITTER_RESPONSE_MISSING_PARAMETER", new Object[] { endpoint, Arrays.toString(missingParams.toArray(new String[0])) });
          }
          return null;
      }
docs: Checks that the provided map contains all of the required parameters.
  
  @param endpoint
  @param responseValues
  May contain token secrets, so has been annotated as @Sensitive.
  @param requiredParams
  @return {@code null} if the map contains all of the specified required parameters. If any parameters are missing, a
  Map with an error response status and error message is returned.