### Question:
K1ColoringMutateProc extends MutatePropertyProc<K1Coloring, HugeLongArray, K1ColoringMutateProc.MutateResult, K1ColoringMutateConfig> { @Procedure(value = "gds.beta.k1coloring.mutate.estimate", mode = READ) @Description(ESTIMATE_DESCRIPTION) public Stream<MemoryEstimateResult> mutateEstimate( @Name(value = "graphName") Object graphNameOrConfig, @Name(value = "configuration", defaultValue = "{}") Map<String, Object> configuration ) { return computeEstimate(graphNameOrConfig, configuration); }  @Procedure(value = "gds.beta.k1coloring.mutate", mode = READ) @Description(K1_COLORING_DESCRIPTION) Stream<K1ColoringMutateProc.MutateResult> mutate(
        @Name(value = "graphName") Object graphNameOrConfig,
        @Name(value = "configuration", defaultValue = "{}") Map<String, Object> configuration
    ); @Procedure(value = "gds.beta.k1coloring.mutate.estimate", mode = READ) @Description(ESTIMATE_DESCRIPTION) Stream<MemoryEstimateResult> mutateEstimate(
        @Name(value = "graphName") Object graphNameOrConfig,
        @Name(value = "configuration", defaultValue = "{}") Map<String, Object> configuration
    );  }### Answer:
@Test void testMutateEstimate() { @Language("Cypher") String query = algoBuildStage() .mutateEstimation() .addParameter("mutateProperty", "color") .yields("nodeCount", "bytesMin", "bytesMax", "requiredMemory"); assertCypherResult(query, Arrays.asList(MapUtil.map( "nodeCount", 4L, "bytesMin", 304080L, "bytesMax", 304080L, "requiredMemory", "296 KiB" ))); }