4.0.0 com.iluwatar java-design-patterns 1.13.0-SNAPSHOT hexagonal junit junit test com.google.inject guice