@Override
  public boolean equals(Object object) {
    if (this == object)
      return true;
    if (object == null || getClass() != object.getClass())
      return false;
    if (!super.equals(object))
      return false;

    BaseTemplateTap that = (BaseTemplateTap) object;

    if (parent != null ? !parent.equals(that.parent) : that.parent != null)
      return false;
    if (pathTemplate != null ? !pathTemplate.equals(that.pathTemplate)
        : that.pathTemplate != null)
      return false;

    return true;
  }