question: < T > T optional ( Object obj , Class < T > clazz , String part ) throws ParseException { if ( obj == null ) { return null ; } return expect ( obj , clazz , part ) ; }
target:  Abort with a ParseException if obj is not either null or of type clazz, returning obj otherwise.