docs: public static <T extends ImageGray<T>, II extends ImageGray<II>>
  	DetectDescribePoint<T,BrightFeature> surfStable( @Nullable ConfigFastHessian configDetector,
  													 @Nullable ConfigSurfDescribe.Stability configDescribe,
  													 @Nullable ConfigSlidingIntegral configOrientation,
  													 Class<T> imageType ) {
  
  		Class<II> integralType = GIntegralImageOps.getIntegralType(imageType);
  
  		FastHessianFeatureDetector<II> detector = FactoryInterestPointAlgs.fastHessian(configDetector);
  		DescribePointSurfMod<II> describe = FactoryDescribePointAlgs.surfStability(configDescribe, integralType);
  		OrientationIntegral<II> orientation = FactoryOrientationAlgs.sliding_ii(configOrientation, integralType);
  
  		if(BoofConcurrency.USE_CONCURRENT) {
  			return new WrapDetectDescribeSurf_MT<>(detector, orientation, describe);
  		} else {
  			return new WrapDetectDescribeSurf<>(detector, orientation, describe);
  		}
  	}