class DefaultLinkDescription extends AbstractDescription implements LinkDescription {

    @Override
    public boolean equals(Object object) {
        if (object != null && getClass() == object.getClass()) {
            if (!super.equals(object)) {
                return false;
            }
            DefaultLinkDescription that = (DefaultLinkDescription) object;
            return Objects.equal(this.src, that.src)
                    && Objects.equal(this.dst, that.dst)
                    && Objects.equal(this.type, that.type)
                    && Objects.equal(this.isExpected, that.isExpected);
        }
        return false;
    }

    public  DefaultLinkDescription(ConnectPoint src, ConnectPoint dst,
                                  Link.Type type,
                                  boolean isExpected,
                                  SparseAnnotations... annotations);
    public  DefaultLinkDescription(ConnectPoint src, ConnectPoint dst,
                                  Link.Type type,
                                  SparseAnnotations... annotations);

}