public Protocol forName(final String identifier) {
        return this.forName(identifier, null);
    }
@Test
    public void testSchemeFallbackType() {
        final TestProtocol dav = new TestProtocol(Scheme.dav);
        final TestProtocol swift = new TestProtocol(Scheme.dav) {
            @Override
            public String getIdentifier() {
                return "swift-p";
            }

            @Override
            public Type getType() {
                return Type.swift;
            }
        };
        final ProtocolFactory f = new ProtocolFactory(new LinkedHashSet<>(Arrays.asList(dav, swift)));
        assertEquals(swift, f.forName("swift"));
    }