public static Builder builder() {
        return new Builder();
    }
@Test
    public void testEquality() {
        Application a1 = baseBuilder.build();
         Application a2 = DefaultApplication.builder(a1)
                .build();
        Application a3 = DefaultApplication.builder(baseBuilder)
                .withFeaturesRepo(Optional.empty())
                .build();
        Application a4 = DefaultApplication.builder(baseBuilder)
                .withOrigin(ORIGIN + "asd")
                .build();
        new EqualsTester()
                .addEqualityGroup(a1, a2)
                .addEqualityGroup(a3)
                .addEqualityGroup(a4)
                .testEquals();
    }