public <V> V parseContent(ValueType<V> valueType) throws IllegalStateException, NullPointerException, StaxNavException { if (valueType == null) { throw new NullPointerException(); } Entry element = current; String content = element.getElement().getContent(true); if (content == null) { throw new IllegalStateException("No content available for parsing"); } try { return valueType.parse(content); } catch (Exception e) { if (e instanceof TypeConversionException) { throw (TypeConversionException) e; } else { throw new TypeConversionException( element.getElement().getLocation(), e, "Could not parse string value " + content); } } }