public static Builder builder() {
    return new Builder();
  }
@Test
  public void testInterfaceWrongImplString() throws Exception {
    DynConstructors.Ctor<MyInterface> ctor =
        DynConstructors.builder(MyInterface.class)
            // TODO this should throw, since the MyUnrelatedClass does not implement MyInterface
            .impl("org.apache.iceberg.common.TestDynConstructors$MyUnrelatedClass")
            .buildChecked();
    assertThatThrownBy(ctor::newInstance)
        .isInstanceOf(ClassCastException.class)
        .hasMessage(
            "org.apache.iceberg.common.TestDynConstructors$MyUnrelatedClass cannot be cast to org.apache.iceberg.common.TestDynConstructors$MyInterface");
  }