@Override
  public boolean equals(Object o) {
    if (this == o) {
      return true;
    }

    if (!(o instanceof Source)) {
      return false;
    }

    Source other = (Source) o;

    return compareTo(other) == 0;
  }
@Test
  public void equals() {
    new EqualsTester()
        .addEqualityGroup(Source.siteProperty("/tmp/123"), Source.siteProperty("/tmp/123"))
        .addEqualityGroup(Source.siteProperty("/tmp/456"))
        .addEqualityGroup(Source.RUNTIME)
        .testEquals();
  }