@SuppressWarnings("unchecked")
  public boolean equals(Object otherViewObject) {
    if (otherViewObject != null && otherViewObject instanceof View) {
      View<T> otherView = (View<T>) otherViewObject;
      if (size() == otherView.size()) {
        for (int i = 0; i < size(); i++) {
          if ((get(i) != null || otherView.get(i) != null) && (get(i) == null || otherView.get(i) == null || !get(i).equals(otherView.get(i)))) {
            return false;
          }
        }
        return true;
      }
    }
    return false;
  }