### Question:
BuildType extends DefaultBuildType implements CoreBuildType, Serializable { @Override public BuildType initWith(com.android.builder.model.BuildType that) { dslChecksEnabled.set(false); try { return (BuildType) super.initWith(that); } finally { dslChecksEnabled.set(true); } } @Inject  BuildType(
            @NonNull String name,
            @NonNull Project project,
            @NonNull ObjectFactory objectFactory,
            @NonNull EvalIssueReporter issueReporter,
            @NonNull DeprecationReporter deprecationReporter); @VisibleForTesting  BuildType(
            @NonNull String name,
            @NonNull Project project,
            @NonNull EvalIssueReporter issueReporter,
            @NonNull DeprecationReporter deprecationReporter); void setMatchingFallbacks(String... fallbacks); void setMatchingFallbacks(List<String> fallbacks); void setMatchingFallbacks(String fallback); List<String> getMatchingFallbacks(); @Override @NonNull CoreNdkOptions getNdkConfig(); @Override @NonNull ExternalNativeBuildOptions getExternalNativeBuildOptions(); @Override @NonNull JavaCompileOptions getJavaCompileOptions(); @NonNull @Override CoreShaderOptions getShaders(); void init(SigningConfig debugSigningConfig); void init(); @Override @Nullable SigningConfig getSigningConfig(); @Override int hashCode(); @Override boolean equals(Object o); void buildConfigField(
            @NonNull String type,
            @NonNull String name,
            @NonNull String value); void resValue(
            @NonNull String type,
            @NonNull String name,
            @NonNull String value); @NonNull BuildType proguardFile(@NonNull Object proguardFile); @NonNull BuildType proguardFiles(@NonNull Object... files); @NonNull BuildType setProguardFiles(@NonNull Iterable<?> proguardFileIterable); @NonNull BuildType testProguardFile(@NonNull Object proguardFile); @NonNull BuildType testProguardFiles(@NonNull Object... proguardFiles); @NonNull BuildType setTestProguardFiles(@NonNull Iterable<?> files); @NonNull BuildType consumerProguardFile(@NonNull Object proguardFile); @NonNull BuildType consumerProguardFiles(@NonNull Object... proguardFiles); @NonNull BuildType setConsumerProguardFiles(@NonNull Iterable<?> proguardFileIterable); void ndk(@NonNull Action<NdkOptions> action); ExternalNativeBuildOptions externalNativeBuild(@NonNull Action<ExternalNativeBuildOptions> action); void shaders(@NonNull Action<ShaderOptions> action); @NonNull @Override com.android.builder.model.BuildType setMinifyEnabled(boolean enabled); @Override boolean isMinifyEnabled(); @Override boolean isShrinkResources(); void setShrinkResources(boolean shrinkResources); @Override Boolean isUseProguard(); void setUseProguard(boolean useProguard); @Override Boolean isCrunchPngs(); void setCrunchPngs(Boolean crunchPngs); @Override @Deprecated boolean isCrunchPngsDefault(); @Incubating @Internal @NonNull PostProcessingBlock getPostprocessing(); @Incubating @Internal void postprocessing(@NonNull Action<PostProcessingBlock> action); @NonNull PostProcessingConfiguration getPostProcessingConfiguration(); @Override BuildType initWith(com.android.builder.model.BuildType that);  }### Answer:
@Test public void testInitWith() { CopyOfTester.assertAllGettersCalled( BuildType.class, new BuildType("original", project, issueReporter, deprecationReporter), original -> { BuildType copy = new BuildType( original.getName(), project, issueReporter, deprecationReporter); copy.initWith(original); original.getPostProcessingConfiguration(); }); }