public ConnectionTimeout create(final PreferencesReader preferences) throws FactoryException {
        try {
            if(null == constructor) {
                constructor = ConstructorUtils.getMatchingAccessibleConstructor(clazz, PreferencesReader.class);
            }
            return constructor.newInstance(preferences);
        }
        catch(InstantiationException | InvocationTargetException | IllegalAccessException e) {
            throw new FactoryException(e.getMessage(), e);
        }
    }
@Test
    public void testCreate() {
        assertNotNull(ConnectionTimeoutFactory.get());
        assertNotNull(ConnectionTimeoutFactory.get(new Host(new TestProtocol())));
    }