title: Re-consume messages for which offset was not commited
body: <p>I have a custom Kafka Consumer in which I use to send some requests to a REST API. 
  According to the response from the API, I either commit the offset or skip the message without commit. </p>
  
  <p><strong>Minimal example:</strong> </p>
  
  <pre><code>while (true) {
  
      ConsumerRecords&lt;String, Object&gt; records = consumer.poll(200);
      for (ConsumerRecord&lt;String, Object&gt; record : records) {
  
          // Sending a POST request and retrieving the answer
          // ...
  
          if (responseCode.startsWith("2")) {
              try { 
                 consumer.commitSync();
              } catch(CommitFailedException ex) {
                ex.printStackTrace(); 
              }
          } else {
                // Do Nothing
          }
      }
  }
  </code></pre>
  
  <p>Now when a response from the REST API does not start with a <code>2</code> the offset is not committed, but the message is not re-consumed. How can I force the consumer to re-consume messages with uncommitted offsets?  </p>