code: public static Properties backfillConsumerKeys(Properties configProps) {
  		HashMap<String, String> oldKeyToNewKeys = new HashMap<>();
  		oldKeyToNewKeys.put(ConsumerConfigConstants.STREAM_DESCRIBE_BACKOFF_BASE, ConsumerConfigConstants.LIST_SHARDS_BACKOFF_BASE);
  		oldKeyToNewKeys.put(ConsumerConfigConstants.STREAM_DESCRIBE_BACKOFF_MAX, ConsumerConfigConstants.LIST_SHARDS_BACKOFF_MAX);
  		oldKeyToNewKeys.put(ConsumerConfigConstants.STREAM_DESCRIBE_BACKOFF_EXPONENTIAL_CONSTANT, ConsumerConfigConstants.LIST_SHARDS_BACKOFF_EXPONENTIAL_CONSTANT);
  		for (Map.Entry<String, String> entry : oldKeyToNewKeys.entrySet()) {
  			String oldKey = entry.getKey();
  			String newKey = entry.getValue();
  			if (configProps.containsKey(oldKey)) {
  				configProps.setProperty(newKey, configProps.getProperty(oldKey));
  				// Do not remove the oldKey since they may be used in the context of talking to DynamoDB streams
  			}
  		}
  		return configProps;
  	}
docs: <p>
  A set of configuration paremeters associated with the describeStreams API may be used if:
  1) an legacy client wants to consume from Kinesis
  2) a current client wants to consumer from DynamoDB streams
  
  In the context of 1), the set of configurations needs to be translated to the corresponding
  configurations in the Kinesis listShards API. In the mean time, keep these configs since
  they are applicable in the context of 2), i.e., polling data from a DynamoDB stream.
  </p>
  
  @param configProps original config properties.
  @return backfilled config properties.