case SYSTEM_EXCLUSIVE: return 0;
  protected final int getDataLength(int status) throws InvalidMidiDataException  {    int originalStatus = status;        if ((status & 0xF0) != 0xF0)      status &= 0xF0;        switch (status)    {    case NOTE_OFF:      case NOTE_ON:      case POLY_PRESSURE:      case CONTROL_CHANGE:      case PITCH_BEND:    case SONG_POSITION_POINTER:      return 2;            case PROGRAM_CHANGE:    case CHANNEL_PRESSURE:    case SONG_SELECT:    case 0xF5:  // FIXME: unofficial bus select.  Not in spec??      return 1;          case SYSTEM_EXCLUSIVE:      return 0; // FIXME: is this correct?    case TUNE_REQUEST:     case END_OF_EXCLUSIVE:    case TIMING_CLOCK:    case START:    case CONTINUE:    case STOP:    case ACTIVE_SENSING:    case SYSTEM_RESET:      return 0;          default:      throw new InvalidMidiDataException("Invalid status: 0x"                                          + Integer.toHexString(originalStatus));    }  }