public static String getHex(byte[] raw) {
   if (raw == null) return null;
   final StringBuilder hex = new StringBuilder(2 * raw.length);
   for (final byte b : raw)
     hex.append(HEXES.charAt((b & 0xF0) >> 4)).append(HEXES.charAt((b & 0x0F)));
   return hex.toString();
 }
 private void setTheTitle() {
   StringBuilder title = new StringBuilder();
   switch (mItemType) {
     case DrawingActivity.SYMBOL_POINT:
       title.append("[");
       title.append(DrawingPointPath.scaleToStringUC(mScale));
       title.append("] ");
       title.append(mContext.getResources().getString(R.string.POINT));
       title.append(" ");
       title.append(mPointLib.getSymbolName(mParent.mCurrentPoint));
       break;
     case DrawingActivity.SYMBOL_LINE:
       title.append(mContext.getResources().getString(R.string.LINE));
       title.append(" ");
       title.append(mLineLib.getSymbolName(mParent.mCurrentLine));
       break;
     case DrawingActivity.SYMBOL_AREA:
       title.append(mContext.getResources().getString(R.string.AREA));
       title.append(" ");
       title.append(mAreaLib.getSymbolName(mParent.mCurrentArea));
       break;
   }
   setTitle(title.toString());
 }