title: Compare maps ignoring given fields
body: <p>I feel like I'm missing something obvious here, but the documentation is letting me down. I'm attempting to compare two maps while ignoring a set of fields in assertJ. I would like to see this assert pass:</p>
  
  <pre><code>  private static final String[] IGNORED_FIELDS = { "ignored", "another" };
    private static final Map&lt;String, Object&gt; TEST_PAYLOAD = ImmutableMap.of("test", "payload", "example", "value", "ignored", "field");
    private static final Map&lt;String, Object&gt; COMPARISON_PAYLOAD = ImmutableMap.of("test", "payload", "example", "value", "another", "ignored field");
    // assert fails
    assertThat(TEST_PAYLOAD).isEqualToIgnoringGivenFields(COMPARISON_PAYLOAD, IGNORED_FIELDS);
  </code></pre>
  
  <p>However, the comparison that actually occurs is of the map objects, and fails on things like size, modCount, threshold, etc. In addition, it doesn't actually ignore the fields listed when comparing tables, keys, and values. I have also tried using</p>
  
  <pre><code>  assertThat(TEST_PAYLOAD).usingRecursiveComparison().ignoringGivenFields(IGNORED_FIELDS).isEqualTo(COMPARISON_PAYLOAD);
  </code></pre>
  
  <p>but this failed because it attempted to compare the ignored fields. Is there an elegant solution here, or am I going to have to manually iterate through keys?</p>