We can't expect everyone to implements all ISO 19107 methods. Some methods should be clearly documented as optional (i.e. it may or may not work depending of the implementation). The ISO 19107 specification defines different conformance level. We should investigate how we could document those level in GeoAPI. One possible way to do that is through UnsupportedOperationException subclasses. For example we could defines the following exceptions:
(we should look for some better name). All methods that are mandatory only for compliance level 2 would have a "throws UnsupportedLevel2OperationException" clause.