### Question:
BasicParameterTable implements ParameterTable { @Override public Set<String> getAvailable() { Set<String> results = new HashSet<>(); for (Map<String, String> map : entity) { results.addAll(map.keySet()); } return results; } BasicParameterTable(List<? extends Map<String, String>> entity); @Override Iterator<ParameterSet> iterator(); @Override boolean isEmpty(); @Override int getRowCount(); @Override Cursor newCursor(); @Override Set<String> getAvailable(); @Override Set<String> getPartial(); @Override List<ParameterSet> getRows();  }### Answer:
@Test public void available() { ParameterTable t = new BasicParameterTable.BasicBuilder() .next().put("a", "A") .next().put("b", "B") .next().put("c", "C") .build(); assertThat(t.getAvailable(), containsInAnyOrder("a", "b", "c")); }