test_class.declarator: type = Requests.cases()
        .GET("GET")
        .DELETE("DELETE")
        .PUT("PUT")
        .POST("POST")
test_class.modifier: private final
test_class.original_string: private final Function<Request, String> type = Requests.cases()
        .GET("GET")
        .DELETE("DELETE")
        .PUT("PUT")
        .POST("POST");
test_class.type: Function<Request, String>
test_class.var_name: type
test_class.file: examples/derive4j/src/test/java/net/zerobuilder/examples/derive4j/RequestTest.java
test_class.identifier: RequestTest
test_case.body: @Test
    public void delete() throws Exception {
      Request body = RequestBuilders.deleteBuilder()
          .path("/delete");
      assertThat(getPath(body), is("/delete"));
      assertThat(getBody(body), is(Optional.empty()));
      assertThat(type.apply(body), is("DELETE"));
    }
test_case.class_method_signature: RequestTest.delete()
test_case.full_signature: @Test public void delete()
test_case.identifier: delete
test_case.invocations: path deleteBuilder assertThat getPath is assertThat getBody is empty assertThat apply is
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void delete()
focal_class.file: examples/derive4j/src/main/java/net/zerobuilder/examples/derive4j/Request.java
focal_class.identifier: Request
focal_class.class_method_signature: Request.match(Cases<R> cases)
focal_class.full_signature: abstract R match(Cases<R> cases)
focal_class.identifier: match
focal_class.modifiers: abstract
focal_class.parameters: (Cases<R> cases)
focal_class.return: R
focal_class.signature: R match(Cases<R> cases)
focal_class.class_method_signature: Request.get(String path)
focal_class.full_signature: @Builder @Recycle @GoalName("get") static Request get(String path)
focal_class.identifier: get
focal_class.modifiers: @Builder @Recycle @GoalName("get") static
focal_class.parameters: (String path)
focal_class.return: Request
focal_class.signature: Request get(String path)
focal_class.class_method_signature: Request.delete(String path)
focal_class.full_signature: @Builder @Recycle @GoalName("delete") static Request delete(String path)
focal_class.identifier: delete
focal_class.modifiers: @Builder @Recycle @GoalName("delete") static
focal_class.parameters: (String path)
focal_class.return: Request
focal_class.signature: Request delete(String path)
focal_class.class_method_signature: Request.put(String path, String body)
focal_class.full_signature: @Builder @Recycle @GoalName("put") static Request put(String path, String body)
focal_class.identifier: put
focal_class.modifiers: @Builder @Recycle @GoalName("put") static
focal_class.parameters: (String path, String body)
focal_class.return: Request
focal_class.signature: Request put(String path, String body)
focal_class.class_method_signature: Request.post(String path, String body)
focal_class.full_signature: @Builder @Recycle @GoalName("post") static Request post(String path, String body)
focal_class.identifier: post
focal_class.modifiers: @Builder @Recycle @GoalName("post") static
focal_class.parameters: (String path, String body)
focal_class.return: Request
focal_class.signature: Request post(String path, String body)
focal_method.body: @Builder
    @Recycle
    @GoalName("delete")
    static Request delete(String path) {
      return Requests.DELETE(path);
    }
focal_method.class_method_signature: Request.delete(String path)
focal_method.full_signature: @Builder @Recycle @GoalName("delete") static Request delete(String path)
focal_method.identifier: delete
focal_method.invocations: DELETE
focal_method.modifiers: @Builder @Recycle @GoalName("delete") static
focal_method.parameters: (String path)
focal_method.return: Request
focal_method.signature: Request delete(String path)