### Question:
NativeAndroidProjectImpl implements NativeAndroidProject, Serializable { @Override public boolean equals(Object o) { if (this == o) { return true; } if (o == null || getClass() != o.getClass()) { return false; } NativeAndroidProjectImpl that = (NativeAndroidProjectImpl) o; return apiVersion == that.apiVersion && Objects.equals(modelVersion, that.modelVersion) && Objects.equals(name, that.name) && Objects.equals(variantInfos, that.variantInfos) && Objects.equals(buildFiles, that.buildFiles) && Objects.equals(artifacts, that.artifacts) && Objects.equals(toolChains, that.toolChains) && Objects.equals(settings, that.settings) && Objects.equals(fileExtensions, that.fileExtensions) && Objects.equals(buildSystems, that.buildSystems); } NativeAndroidProjectImpl(
            @NonNull String modelVersion,
            @NonNull String name,
            @NonNull Collection<File> buildFiles,
            @NonNull Map<String, NativeVariantInfo> variantInfos,
            @NonNull Collection<NativeArtifact> artifacts,
            @NonNull Collection<NativeToolchain> toolChains,
            @NonNull Collection<NativeSettings> settings,
            @NonNull Map<String, String> fileExtensions,
            @NonNull Collection<String> buildSystems,
            int apiVersion); @Override int getApiVersion(); @Override @NonNull String getModelVersion(); @Override @NonNull String getName(); @Override @NonNull Map<String, NativeVariantInfo> getVariantInfos(); @Override @NonNull Collection<File> getBuildFiles(); @Override @NonNull Collection<NativeArtifact> getArtifacts(); @Override @NonNull Collection<NativeToolchain> getToolChains(); @Override @NonNull Collection<NativeSettings> getSettings(); @Override @NonNull Map<String, String> getFileExtensions(); @Override @NonNull Collection<String> getBuildSystems(); @Override boolean equals(Object o); @Override int hashCode(); @Override String toString();  }### Answer:
@Test public void equals() throws Exception { EqualsVerifier.forClass(NativeAndroidProjectImpl.class).verify(); }