fix #2136, rewrite statement icon code to remove StatementIconProvider