code: @Override
      Map<String, Object> constructParameterRequestArgs() {
          Map<String, Object> args = new HashMap<String, Object>();
  
          // Add required step parameters
          args.put(KeenQueryConstants.EVENT_COLLECTION, collectionName);
          args.put(KeenQueryConstants.ACTOR_PROPERTY, actorPropertyName);
  
          // timeframe is only required if not specified for the funnel itself,
          // so it may not be set.
          if (null != this.timeframe) {
              args.putAll(timeframe.constructTimeframeArgs());
          }
  
          // Add optional parameters if they've been specified.
          if (null != this.filters) {
              args.put(
                  KeenQueryConstants.FILTERS,
                  this.filters.constructParameterRequestArgs()
              );
          }
  
          // Add special parameters if they are set
          if (null != this.inverted) {
              args.put(
                  KeenQueryConstants.INVERTED,
                  this.inverted
              );
          }
  
          if (null != this.optional) {
              args.put(
                  KeenQueryConstants.OPTIONAL,
                  this.optional
              );
          }
  
          if (null != this.withActors) {
              args.put(
                  KeenQueryConstants.WITH_ACTORS,
                  this.withActors
              );
          }
  
          return args;
      }
docs: Constructs the sub-parameters for a funnel step.
  
  @return A jsonifiable Map containing the step's request parameters.