class ClientCustomDataSource extends ClientResource<ClientCustomDataSource> implements ClientReferenceableDataSource {

    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (!(o instanceof ClientCustomDataSource)) return false;
        if (!super.equals(o)) return false;

        ClientCustomDataSource that = (ClientCustomDataSource) o;

        if (dataSourceName != null ? !dataSourceName.equals(that.dataSourceName) : that.dataSourceName != null)
            return false;
        if (properties != null ? (that.properties == null || !new HashSet(properties).equals(new HashSet(that.properties))) : that.properties != null) return false;
        if (resources != null ? !resources.equals(that.resources) : that.resources != null) return false;
        if (serviceClass != null ? !serviceClass.equals(that.serviceClass) : that.serviceClass != null) return false;

        return true;
    }

    public  ClientCustomDataSource();
    public  ClientCustomDataSource(ClientCustomDataSource source);

}