class TranslationEntry {

  private final List<String> l1;
  private final List<String> l2;
  private final int itemCount;

  public TranslationEntry(List<String> l1, List<String> l2, int itemCount) {
    this.l1 = Objects.requireNonNull(l1);
    this.l2 = Objects.requireNonNull(l2);
    this.itemCount = itemCount;
  }

  public int getItemCount() {
    return itemCount;
  }

  public List<String> getL1() {
    return l1;
  }

  public List<String> getL2() {
    return l2;
  }

  @Override
  public String toString() {<FILL_FUNCTION_BODY>}

  @Override
  public boolean equals(Object o) {
    if (this == o) return true;
    if (o == null || getClass() != o.getClass()) return false;
    TranslationEntry that = (TranslationEntry) o;
    return l1.equals(that.l1) &&
      l2.equals(that.l2);
  }

  @Override
  public int hashCode() {
    return Objects.hash(l1, l2);
  }
}

    //return l1 + " -> " + l2 + " (itemCount: "+ itemCount + ")";
    return l1 + " -> " + l2;
  
<no_super_class>