### Question:
SourceProviderImpl implements SourceProvider, Serializable { @Override public boolean equals(Object o) { if (this == o) { return true; } if (o == null || getClass() != o.getClass()) { return false; } SourceProviderImpl that = (SourceProviderImpl) o; return Objects.equals(name, that.name) && Objects.equals(manifestFile, that.manifestFile) && Objects.equals(javaDirs, that.javaDirs) && Objects.equals(resourcesDirs, that.resourcesDirs) && Objects.equals(aidlDirs, that.aidlDirs) && Objects.equals(rsDirs, that.rsDirs) && Objects.equals(cDirs, that.cDirs) && Objects.equals(cppDirs, that.cppDirs) && Objects.equals(resDirs, that.resDirs) && Objects.equals(assetsDirs, that.assetsDirs) && Objects.equals(libsDirs, that.libsDirs) && Objects.equals(shaderDirs, that.shaderDirs); } SourceProviderImpl(@NonNull SourceProvider sourceProvider); @NonNull @Override String getName(); @NonNull @Override File getManifestFile(); @NonNull @Override Collection<File> getJavaDirectories(); @NonNull @Override Collection<File> getResourcesDirectories(); @NonNull @Override Collection<File> getAidlDirectories(); @NonNull @Override Collection<File> getRenderscriptDirectories(); @NonNull @Override Collection<File> getCDirectories(); @NonNull @Override Collection<File> getCppDirectories(); @NonNull @Override Collection<File> getResDirectories(); @NonNull @Override Collection<File> getAssetsDirectories(); @NonNull @Override Collection<File> getJniLibsDirectories(); @NonNull @Override Collection<File> getShadersDirectories(); @Override boolean equals(Object o); @Override int hashCode(); @Override String toString();  }### Answer:
@Test public void equals() throws Exception { EqualsVerifier.forClass(SourceProviderImpl.class).verify(); }