code: protected Object getDataValue(Trace trace, Node node, Direction direction, Map<String, ?> headers,
              Object[] values) {
          if (source == DataSource.Content) {
              return values[index];
          } else if (source == DataSource.Header) {
              return headers.get(key);
          }
          return null;
      }
docs: This method returns the data value associated with the requested data
  source and key..
  
  @param trace The trace
  @param node The node
  @param direction The direction
  @param headers The optional headers
  @param values The values
  @return The required data value