class DescriptiveUrl {

    @Override
    public boolean equals(final Object o) {
        if(this == o) {
            return true;
        }
        if(o == null || getClass() != o.getClass()) {
            return false;
        }
        final DescriptiveUrl that = (DescriptiveUrl) o;
        return Objects.equals(url, that.url);
    }

    public  DescriptiveUrl(final URI url);
    public  DescriptiveUrl(final URI url, Type type);
    public  DescriptiveUrl(final URI url, Type type, final String help);

}