code: private void onMTMessage(MTMessage mtMessage) {
          if (mtMessage.getSeqNo() % 2 == 1) {
              scheduller.confirmMessage(mtMessage.getMessageId());
          }
          if (!needProcessing(mtMessage.getMessageId())) {
              if (Logger.LOG_IGNORED) {
                  Logger.d(TAG, "Ignoring messages #" + mtMessage.getMessageId());
              }
              return;
          }
          try {
              TLObject intMessage = protoContext.deserializeMessage(new ByteArrayInputStream(mtMessage.getContent()));
              onMTProtoMessage(mtMessage.getMessageId(), intMessage);
          } catch (DeserializeException e) {
              callback.onApiMessage(mtMessage.getContent(), this);
          } catch (IOException e) {
              Logger.e(TAG, e);
              // ???
          }
      }
docs: Finding message type