(String[])srl[0].getProperty("objectClass")));
(String[])srl[0].getProperty("objectClass")).toString());
  void setServiceHTML(long sid) {    StringBuffer sb = new StringBuffer();    try {      ServiceReference[] srl = 	Activator.getTargetBC().getServiceReferences(null,					  "(" + Constants.SERVICE_ID + "=" + sid + ")");      if(srl != null && srl.length == 1) {	sb.append("<html>");	sb.append("<table border=0>");		sb.append("<tr><td width=\"100%\" bgcolor=\"#eeeeee\">");	startFont(sb, "-1");	sb.append("Service #" + sid);	sb.append(", ");	Util.bundleLink(sb, srl[0].getBundle());	sb.append("</font>\n");	sb.append("</td>\n");	sb.append("</tr>\n");	sb.append("</table>");	startFont(sb);	sb.append("<b>Properties</b>");	sb.append("</font>");	sb.append("<table cellpadding=0 cellspacing=1 border=0>");	String[] keys = srl[0].getPropertyKeys();	for(int i = 0; keys != null && i < keys.length; i++) {	  	  StringWriter sw = new StringWriter();	  PrintWriter  pr = new PrintWriter(sw);	  	  Util.printObject(pr, srl[0].getProperty(keys[i]));	  	  sb.append("<tr>");	  sb.append("<td valign=top>");	  startFont(sb);	  sb.append(keys[i]);	  stopFont(sb);	  sb.append("</td>");	  	  sb.append("<td valign=top>");	  sb.append(sw.toString());	  sb.append("</td>");	  	  sb.append("</tr>");	}	sb.append("</table>");	try {	  Object serviceObj = Activator.getTargetBC().getService(srl[0]);	  if(serviceObj != null) {	    sb.append(formatServiceObject(serviceObj,					  (String[])srl[0].getProperty("objectClass")));	  }	} catch (Exception e) {	  sb.append("Failed to format service object: " + e);	} finally {	  Activator.getTargetBC().ungetService(srl[0]);	}	sb.append("</html>");	      } else {	sb.append("No service with sid=" + sid);      }    } catch (Exception e2) {      e2.printStackTrace();    }    setHTML(sb.toString());  }