AergoClientBuilder implements ClientConfiguer<AergoClientBuilder> { public AergoClient build() { final Context context = initContext(); logger.trace("Init context: {}", context); final ContextStorage<Context> contextStorage = new UnmodifiableContextStorage(context); return new AergoClientImpl(contextStorage); }  @Override AergoClientBuilder addConfiguration(final String key, final String value); @Override AergoClientBuilder withEndpoint(final String endpoint); @Override AergoClientBuilder withNonBlockingConnect(); @Override AergoClientBuilder withBlockingConnect(); @Override AergoClientBuilder withPlainText(); @Override AergoClientBuilder withTransportSecurity(String serverCommonName, String serverCertPath,
      String clientCertPath, String clientKeyPath); @Override AergoClientBuilder withTransportSecurity(final String serverCommonName,
      final InputStream serverCertInputStream, final InputStream clientCertInputStream,
      final InputStream clientKeyInputStream); @Override AergoClientBuilder withTimeout(final long timeout, final TimeUnit unit); @Override AergoClientBuilder withRetry(int count, long interval, TimeUnit unit); AergoClient build();  }
@Test public void testBuild() { final AergoClient aergoClient = new AergoClientBuilder() .withEndpoint("localhost:7845") .withPlainText() .withNonBlockingConnect() .withTimeout(3000L, TimeUnit.MILLISECONDS) .withRetry(3, 1000, TimeUnit.MILLISECONDS) .build(); assertNotNull(aergoClient); }