private SubstanceColorScheme getColorSchemeForState(
     JTable table, SubstanceTableUI ui, ComponentState state) {
   UpdateOptimizationInfo updateOptimizationInfo = ui.getUpdateOptimizationInfo();
   if (state == ComponentState.ENABLED) {
     if (updateOptimizationInfo == null) {
       return SubstanceColorSchemeUtilities.getColorScheme(table, state);
     } else {
       return updateOptimizationInfo.getDefaultScheme();
     }
   } else {
     if (updateOptimizationInfo == null) {
       return SubstanceColorSchemeUtilities.getColorScheme(
           table, ColorSchemeAssociationKind.HIGHLIGHT, state);
     } else {
       return updateOptimizationInfo.getHighlightColorScheme(state);
     }
   }
 }