public boolean equals(Object o) {
      if (o instanceof SLeak) {
        final SLeak l = (SLeak) o;
        return source.equals(l.source) && sink.equals(l.sink);
      }

      return false;
    }
    @Override
    public int compareTo(final SLeak o) {
      if (o == this || this.equals(o)) {
        return 0;
      }

      if (!source.equals(o.source)) {
        return source.compareTo(o.source);
      }

      if (!sink.equals(o.sink)) {
        return sink.compareTo(o.sink);
      }

      return 0;
    }