private <T> T getFeatureTypeInfoProperty(
Catalog catalog, FeatureCollection features, Function<FeatureTypeInfo, T> callback) {
FeatureTypeInfo fti;
ResourceInfo meta = null;
if (features instanceof TypeInfoCollectionWrapper.Complex) {
TypeInfoCollectionWrapper.Complex fcollection =
(TypeInfoCollectionWrapper.Complex) features;
fti = fcollection.getFeatureTypeInfo();
meta = catalog.getResourceByName(fti.getName(), ResourceInfo.class);
} else {
FeatureType featureType = features.getSchema();
meta = catalog.getResourceByName(featureType.getName(), ResourceInfo.class);
}
if (meta instanceof FeatureTypeInfo) {
fti = (FeatureTypeInfo) meta;
return callback.apply(fti);
}
return null;
}