private ValueScanner<T> findStandardScanner(String scannerClassOrKeyword) throws T2DBException { StandardValueType type = null; ValueScanner<T> scanner = null; try { type = StandardValueType.valueOf(scannerClassOrKeyword); } catch (IllegalArgumentException e) { } if (type == null) { keyword = null; try { @SuppressWarnings("unchecked") Class<ValueScanner<T>> scannerClass = (Class<ValueScanner<T>>) Class.forName(scannerClassOrKeyword); try { Constructor<ValueScanner<T>> constructor = scannerClass.getConstructor(ValueType.class); scanner = constructor.newInstance(this); } catch (NoSuchMethodException e) { scanner = scannerClass.newInstance(); } } catch (Exception e) { throw T2DBMsg.exception(e, D.D10110, name, scannerClassOrKeyword); } } else scanner = findStandardScanner(type); return scanner; }