class ModuleLibraryImpl implements Library, Serializable {

    @Override
    public boolean equals(Object o) {
        if (this == o) {
            return true;
        }
        if (o == null || getClass() != o.getClass()) {
            return false;
        }
        ModuleLibraryImpl that = (ModuleLibraryImpl) o;
        return Objects.equals(address, that.address)
                && Objects.equals(buildId, that.buildId)
                && Objects.equals(projectPath, that.projectPath)
                && Objects.equals(variant, that.variant);
    }

    public  ModuleLibraryImpl(
            @NonNull String address,
            @NonNull String buildId,
            @NonNull String projectPath,
            @Nullable String variant);

}