code: public void addPickEventListener(IEvents listener)
      {
          if (IPickEvents.class.isAssignableFrom(listener.getClass()) ||
                  ITouchEvents.class.isAssignableFrom(listener.getClass()))
          {
              mPicker.getEventReceiver().addListener(listener);
          }
          else
          {
              throw new IllegalArgumentException("Pick event listener must be derive from IPickEvents or ITouchEvents");
          }
      }
docs: Add a {@link IPickEvents} or {@link ITouchEvents} listener to receive updates from this
  {@link GVRCursorController}. A pick event is emitted whenever
  the pick ray from the controller intersects a {@link GVRCollider}.
  A touch event is emitted when the active button is pressed while
  the pick ray is inside the collider.
  
  @param listener the {@link IPickEvents} or {@link ITouchEvents} listener to be added.