code: public static final GVRPickedObject[] pickVisible(GVRScene scene) {
          sFindObjectsLock.lock();
          try {
              final GVRPickedObject[] result = NativePicker.pickVisible(scene.getNative());
              return result;
          } finally {
              sFindObjectsLock.unlock();
          }
      }
docs: Returns the list of colliders attached to scene objects that are
  visible from the viewpoint of the camera.
  
  <p>
  This method is thread safe because it guarantees that only
  one thread at a time is picking against particular scene graph,
  and it extracts the hit data during within its synchronized block. You
  can then examine the return list without worrying about another thread
  corrupting your hit data.
  
  The hit location returned is the world position of the scene object center.
  
  @param scene
  The {@link GVRScene} with all the objects to be tested.
  
  @return A list of {@link org.gearvrf.GVRPicker.GVRPickedObject}, sorted by distance from the
  camera rig. Each {@link org.gearvrf.GVRPicker.GVRPickedObject} contains the scene object
  which owns the {@link GVRCollider} along with the hit
  location and distance from the camera.
  
  @since 1.6.6