function batchMount(address _childContract, uint256[] _childTokenIds, uint256 _tokenId) external {
    uint256 _len = _childTokenIds.length;
    require(_len > 0, "No token need to mount");
    address tokenOwner = _ownerOf(_tokenId);
    require(tokenOwner == msg.sender);
    for(uint8 i = 0; i < _len; ++i) {
      uint256 childTokenId = _childTokenIds[i];
      require(ERC721(_childContract).ownerOf(childTokenId) == tokenOwner);
      _getChild(msg.sender, _tokenId, _childContract, childTokenId);
    }
    emit BatchMount(msg.sender, _tokenId, _childContract, _childTokenIds);
  }