class AbstractQualifiedName {

    @Override
    public boolean equals(Object object) {

        if (this == object) {
            return true;
        }

        if (object == null) {
            return false;
        }

        if (getClass() != object.getClass()) {
            return false;
        }

        final AbstractQualifiedName other = (AbstractQualifiedName)object;
        if (!Objects.equals(this.getName(), other.getName())) {
            return false;
        }

        return true;
    }

    protected  AbstractQualifiedName(String name);

}