code: private static FunnelResult constructFunnelResult(Map<String, Object> responseMap) {
          // Create a result for the 'result' field of the funnel response. FunnelResult won't contain
          // intervals or groups, as those parameters aren't supported for Funnel.
          QueryResult funnelResult = constructQueryResult(
              responseMap.get(KeenQueryConstants.RESULT),
              false,
              false);
  
          if (!(funnelResult instanceof ListResult)) {
              throw new KeenQueryClientException("'result' property of response contained data of an unexpected format.");
          }
  
          ListResult actorsResult = null;
          // Check for any additional result data that has been returned and include it with the result.
          if (responseMap.containsKey(KeenQueryConstants.ACTORS))
          {
              QueryResult genericActorsResult = constructQueryResult(
                  responseMap.get(KeenQueryConstants.ACTORS),
                  false,
                  false);
  
              if (!(genericActorsResult instanceof ListResult)) {
                  throw new KeenQueryClientException("'actors' property of response contained data of an unexpected format.");
              }
  
              actorsResult = (ListResult)genericActorsResult;
          }
  
          return new FunnelResult((ListResult)funnelResult, actorsResult);
      }
docs: Constructs a FunnelResult from a response object map. This map should include
  a 'result' key and may include an optional 'actors' key as well.
  
  @param responseMap The server response, deserialized to a Map<String, Object>
  @return A FunnelResult instance.