@PublicAPI(usage = ACCESS)
    public JavaClass importClass(Class<?> clazz) {
        return getOnlyElement(importClasses(clazz));
    }
@Test
    public void class_has_source_of_import() throws Exception {
        ArchConfiguration.get().setMd5InClassSourcesEnabled(true);

        JavaClass clazzFromFile = new ClassFileImporter().importClass(ClassToImportOne.class);
        Source source = clazzFromFile.getSource().get();
        assertThat(source.getUri()).isEqualTo(uriOf(ClassToImportOne.class));
        assertThat(source.getFileName()).contains(ClassToImportOne.class.getSimpleName() + ".java");
        assertThat(source.getMd5sum()).isEqualTo(md5sumOf(bytesAt(urlOf(ClassToImportOne.class))));

        clazzFromFile = new ClassFileImporter().importClass(ClassWithInnerClass.Inner.class);
        source = clazzFromFile.getSource().get();
        assertThat(source.getUri()).isEqualTo(uriOf(ClassWithInnerClass.Inner.class));
        assertThat(source.getFileName()).contains(ClassWithInnerClass.class.getSimpleName() + ".java");
        assertThat(source.getMd5sum()).isEqualTo(md5sumOf(bytesAt(urlOf(ClassWithInnerClass.Inner.class))));

        JavaClass clazzFromJar = new ClassFileImporter().importClass(Rule.class);
        source = clazzFromJar.getSource().get();
        assertThat(source.getUri()).isEqualTo(uriOf(Rule.class));
        assertThat(source.getFileName()).contains(Rule.class.getSimpleName() + ".java");
        assertThat(source.getMd5sum()).isEqualTo(md5sumOf(bytesAt(urlOf(Rule.class))));

        ArchConfiguration.get().setMd5InClassSourcesEnabled(false);
        source = new ClassFileImporter().importClass(ClassToImportOne.class).getSource().get();
        assertThat(source.getMd5sum()).isEqualTo(MD5_SUM_DISABLED);
    }