+ "No Data" + "</td></tr>\n" );
+ "No Data (" + be.getMessage() + ")</td></tr>\n" );
    protected String stateEstimationToHTMLTableString( StateEstimation se )    {        StringBuffer buff = new StringBuffer();        AssetType asset_type = se.getAssetType();        Vector state_dim_list = asset_type.getCompositeState();        if ( state_dim_list == null )            return "State Dimension Error";  // don't deal with errors for now                      if ( state_dim_list.size() == 0 )            return "State Dimension Error";  // don't deal with errors for now                      buff.append( "<p><table border=\"2\">\n" );                      buff.append( "  <tr><th colspan=\""                     + state_dim_list.size()                     + "\" bgcolor=\"#c0c0c0\">Asset ID: "                      + se.getAssetID().getName()                     + ", Asset Type: "                     + asset_type.getName()                     + "</th></tr>\n" );                      buff.append( "  <tr valign=\"top\">\n" );                      Iterator state_dim_iter = state_dim_list.iterator();                      for ( int dim_idx = 0; state_dim_iter.hasNext(); dim_idx++ )        {                              buff.append( "    <td>\n" );                              AssetStateDimension state_dim                     = (AssetStateDimension) state_dim_iter.next();                              String dim_name =  state_dim.getStateName();                              StateDimensionEstimation se_dim;            try {                se_dim = se.getStateDimensionEstimation( state_dim );            } catch ( BelievabilityException be)            {                buff.append( "    " + dim_name + "<br>No Data"                             + "    </td>\n" );                continue;            }                              // This will allow us to enumerate all the            // possible states this dimension can be in.            //            Vector asset_state_list = state_dim.getPossibleStates();                              if ( asset_state_list == null )                continue;  // don't deal with errors for now                              if ( asset_state_list.size() == 0 )                continue;  // don't deal with errors for now                                                buff.append( "      <table border=\"1\""                         + " cellpadding=\"2\">\n" );                              buff.append( "        <tr><th colspan=\"2\""                          + " bgcolor=\"#dadada\"\">"                          + dim_name + "</th></tr>\n" );                              Iterator asset_state_iter = asset_state_list.iterator();                              for ( int val_idx = 0; asset_state_iter.hasNext(); val_idx++ )            {                AssetState state = (AssetState) asset_state_iter.next();                                          String val_name = state.getName();                                      double prob;                   try {                    prob = se_dim.getProbability( val_name );                } catch ( BelievabilityException be)                {                    buff.append( "        <tr><td colspan=\"2\">"                                  + "No Data"                                 + "</td></tr>\n" );                    continue;                }                                      int bg_color_value                        = 256 * 256 * ((int) (_base_color[0] * prob))                        + 256 * ((int) (_base_color[1] * prob))                        + ((int) (_base_color[2] * prob));                String bg_color = "000000"                         + Integer.toHexString( bg_color_value );                String fg_color = "black";                if ( prob < 0.5 )                    fg_color = "white";                buff.append( "        <tr><td>"                              + val_name + "</td>\n" );                                      buff.append( "<td bgcolor=\"#"                              + bg_color.substring( bg_color.length()-6,                                                   bg_color.length() )                             + "\">"                             + "<font color=\""                              + fg_color + "\">"                             + _double_format.format(prob)                              + "</font>"                             + "</td></tr>\n" );            } // while asset_state_iter                              buff.append( "      </table>\n" );            buff.append( "    </td>\n" );                          } // while state_dim_iter                      buff.append( "  </tr>\n</table></p>\n" );        return buff.toString();    }