Class Option Recommendations

Below, is a list of classes that may be updated with final or abstract.
The red stars mention possible upgrade by using final or abstract keywords; The green stars mention a valid absence of the option (an extended class, that can't be final, ...); The absence of star report currently configured classes. .

Final Abstract Name Path
class FilterChain \filterchain
class Container implements ContainerInterface \container
class ErrorHandlerMiddleware implements MiddlewareInterface \errorhandlermiddleware
  class PageTree extends AbstractNode \pagetree
class FileInfo extends \SplFileInfo \fileinfo
  class TwigCoreExtension extends AbstractExtension \twigcoreextension
class PageTrail implements \IteratorAggregate, \Countable \pagetrail
class EventManager \eventmanager
class MarkdownSysPlugin extends Plugin \markdownsysplugin
class DummySysPlugin implements PluginInterface \dummysysplugin
class TextileSysPlugin extends Plugin \textilesysplugin
class Config \config
class FatalErrorHandler \fatalerrorhandler
class PageFactory \pagefactory
class UrlGenerator \urlgenerator
class FileInfoFilterCallback \fileinfofiltercallback
class HttpBasicAuthMiddleware implements MiddlewareInterface \httpbasicauthmiddleware
class TwigStringLoader implements LoaderInterface \twigstringloader
class FilterIterator implements \Iterator, \Countable, FilterInterface \filteriterator
class Event implements EventInterface \event
class Alias \alias
class Yaml \yaml
class PageList implements \IteratorAggregate, \Countable \pagelist
class RenderLayoutFilter \renderlayoutfilter
class FileInfoSortableIterator implements \IteratorAggregate \fileinfosortableiterator
class Page \page
  class NullLogger extends AbstractLogger \nulllogger
class Site \site
class YamlDataRepository implements DataRepositoryInterface \yamldatarepository
class RecursiveDirectoryIterator extends \RecursiveDirectoryIterator \recursivedirectoryiterator
class UncaughtExceptionHandler \uncaughtexceptionhandler
class FlatfilePagePersistence implements PagePersistenceInterface \flatfilepagepersistence
class PageTreeFilterIterator extends \RecursiveFilterIterator \pagetreefilteriterator
class PageRendererMiddleware implements MiddlewareInterface \pagerenderermiddleware
class Application implements LoggerAwareInterface \application
class DownloadMiddleware implements MiddlewareInterface \downloadmiddleware
class RenderSegmentFilter \rendersegmentfilter
class TwigRenderer \twigrenderer
class PageTreeIterator implements \RecursiveIterator \pagetreeiterator
class PageTreeHtmlRenderer extends \RecursiveIteratorIterator \pagetreehtmlrenderer
class Assets \assets
class PageTreeFilterCallback \pagetreefiltercallback
class FlatfilePageRepository implements PageRepositoryInterface \flatfilepagerepository
class Translator \translator
class NullCache implements CacheInterface \nullcache
class PageTreeTextRenderer extends \RecursiveTreeIterator \pagetreetextrenderer
class SystemException extends \Exception \systemexception
class PageResolverMiddleware implements MiddlewareInterface \pageresolvermiddleware
class PluginManager \pluginmanager
class MiddlewareDispatcher implements RequestHandlerInterface \middlewaredispatcher
class ResponseTimeMiddleware implements MiddlewareInterface \responsetimemiddleware
class CallableMiddleware implements MiddlewareInterface \callablemiddleware
class Selector \selector
class UrlMatcher \urlmatcher
class PageItem implements \ArrayAccess \pageitem
class JsonDataRepository implements DataRepositoryInterface \jsondatarepository
class FilterChainManager \filterchainmanager
class HttpException extends \Exception \httpexception
class Pagination implements \IteratorAggregate, \Countable \pagination
class Environment \environment
  class TwigPlusExtension extends AbstractExtension \twigplusextension
class ImagineSysPlugin extends Plugin \imaginesysplugin
abstract class Plugin implements PluginInterface \plugin
abstract class AbstractNode implements \IteratorAggregate \abstractnode