docs: @Override
      protected void doPick()
      {
          if (mCollidables.size() > 0)
          {
              GVRPickedObject[] picked = null;
  
              synchronized (mCollidables)
              {
                  picked = pickBounds(mScene, mCollidables);
              }
              if (mPickClosest && (picked.length > 0))
              {
                  GVRPickedObject closest = null;
                  float dist = 100000.0f;
                  for (GVRPickedObject hit : picked)
                  {
                      if ((hit != null) && (hit.hitDistance < dist))
                      {
                          dist = hit.hitDistance;
                          closest = hit;
                      }
                  }
                  if (closest != null)
                  {
                      picked = new GVRPickedObject[] { closest };
                  }
                  else
                  {
                      picked = sEmptyList;
                  }
              }
              generatePickEvents(picked);
          }
      }