private static <E extends PreferenceTypeAdapter<?, ?>> E generateAdapter(Class<E> clazz) {
		E adapter;
		try {
			lock.lock();
			adapter = clazz.newInstance();
			cache.put(clazz, adapter);
		} catch (Throwable e) {
			throw (new KriptonRuntimeException(e));
		} finally {
			lock.unlock();
		}
		return adapter;
	}
private static < E extends PreferenceTypeAdapter < ? , ? > > E generateAdapter ( Class < E > clazz ) { E adapter ; try { lock . lock ( ) ; adapter = clazz . newInstance ( ) ; cache . put ( clazz , adapter ) ; } catch ( Throwable e ) { throw ( new KriptonRuntimeException ( e ) ) ; } finally { lock . unlock ( ) ; } return adapter ; }
Generate adapter.

@param <E> the element type
@param clazz the clazz
@return the e