### Question:
B2HeadersImpl implements B2Headers { @Override public Collection<String> getNames() { return Collections.unmodifiableCollection(pairs.keySet()); } private  B2HeadersImpl(Map<String, String> pairs); @Override Collection<String> getNames(); @Override String getValueOrNull(String name); static Builder builder(); static Builder builder(B2Headers headersOrNull); @Override String toString();  }### Answer:
@Test public void testGetNames() { assertTrue(makeEmpty().getNames().isEmpty()); final B2Headers headers = makeNormal(); final List<String> expectedNames = Arrays.asList( B2Headers.CONTENT_LENGTH, B2Headers.CONTENT_TYPE, B2Headers.CONTENT_SHA1, B2Headers.FILE_NAME, B2Headers.FILE_INFO_PREFIX + "alphabet", B2Headers.SRC_LAST_MODIFIED_MILLIS, B2Headers.FILE_INFO_PREFIX.toLowerCase() + "zoo"); assertEquals(expectedNames, new ArrayList<>(headers.getNames())); }