public static DefaultCryptoKeyReaderBuilder builder() {
        return new DefaultCryptoKeyReaderBuilder();
    }
@Test
    public void testBuild() throws Exception {
        Map<String, String> publicKeys = new HashMap<>();
        publicKeys.put("key1", "file:///path/to/public1.key");
        publicKeys.put("key2", "file:///path/to/public2.key");

        Map<String, String> privateKeys = new HashMap<>();
        privateKeys.put("key3", "file:///path/to/private3.key");

        DefaultCryptoKeyReader keyReader = DefaultCryptoKeyReader.builder()
                .defaultPublicKey("file:///path/to/default-public.key")
                .defaultPrivateKey("file:///path/to/default-private.key")
                .publicKey("key4", "file:///path/to/public4.key").publicKeys(publicKeys)
                .publicKey("key5", "file:///path/to/public5.key").privateKey("key6", "file:///path/to/private6.key")
                .privateKeys(privateKeys).privateKey("key7", "file:///path/to/private7.key").build();

        Field defaultPublicKeyField = keyReader.getClass().getDeclaredField("defaultPublicKey");
        defaultPublicKeyField.setAccessible(true);
        Field defaultPrivateKeyField = keyReader.getClass().getDeclaredField("defaultPrivateKey");
        defaultPrivateKeyField.setAccessible(true);
        Field publicKeysField = keyReader.getClass().getDeclaredField("publicKeys");
        publicKeysField.setAccessible(true);
        Field privateKeysField = keyReader.getClass().getDeclaredField("privateKeys");
        privateKeysField.setAccessible(true);

        Map<String, String> expectedPublicKeys = new HashMap<>();
        expectedPublicKeys.put("key1", "file:///path/to/public1.key");
        expectedPublicKeys.put("key2", "file:///path/to/public2.key");
        expectedPublicKeys.put("key4", "file:///path/to/public4.key");
        expectedPublicKeys.put("key5", "file:///path/to/public5.key");

        Map<String, String> expectedPrivateKeys = new HashMap<>();
        expectedPrivateKeys.put("key3", "file:///path/to/private3.key");
        expectedPrivateKeys.put("key6", "file:///path/to/private6.key");
        expectedPrivateKeys.put("key7", "file:///path/to/private7.key");

        assertEquals((String) defaultPublicKeyField.get(keyReader), "file:///path/to/default-public.key");
        assertEquals((String) defaultPrivateKeyField.get(keyReader), "file:///path/to/default-private.key");
        assertEquals((Map<String, String>) publicKeysField.get(keyReader), expectedPublicKeys);
        assertEquals((Map<String, String>) privateKeysField.get(keyReader), expectedPrivateKeys);
    }