return !xpath.startsWith("/") && PROPERTY_PATTERN.matcher(xpath).matches();
}
@Override
public <T> T get(FeatureType candidate, String xpath, Class<T> target) throws IllegalArgumentException {
if(candidate==null) return null;
<BUG>xpath = stripPrefix(xpath);
try{</BUG>
return (T) candidate.getProperty(xpath);
}catch(PropertyNotFoundException ex){
return null;

return !xpath.startsWith("/") && PROPERTY_PATTERN.matcher(xpath).matches();
}
@Override
public <T> T get(FeatureType candidate, String xpath, Class<T> target) throws IllegalArgumentException {
if(candidate==null) return null;
xpath = stripPrefix(xpath);
if (!xpath.isEmpty() && xpath.charAt(0) == '{') {
xpath = NamesExt.valueOf(xpath).toString();
}
try{
return (T) candidate.getProperty(xpath);
}catch(PropertyNotFoundException ex){
return null;
