class MetadataCollection extends ArrayList<MetadataElement> {

  public boolean containsKey(String key) {
    boolean result = false;
    for (MetadataElement element : this) {
      if (element.getKey().equals(key)) {
        result = true;
        break;
      }
    }
    return result;
  }

  public  MetadataCollection();
  public  MetadataCollection(@NotNull Set<MetadataElement> elements);
  public  MetadataCollection(@NotNull MetadataCollection metadataCollection);
  public  MetadataCollection(@NotNull KeyValuePairBag elements);
  public  MetadataCollection(@NotNull Map<String, String> elements);
  public  MetadataCollection(@NotNull MetadataElement... elements);

}