code: public void setPose(GVRPose pose)
      {
          GVRSkeleton skel = pose.getSkeleton();
          pose.sync();
          if (pose == mPose)
              return;
          if (skel != this)
              throw new IllegalArgumentException("setPose: input pose has incompatible skeleton");
          mPose.copy(pose);
          updateBonePose();
      }
docs: Sets the the current pose for this skeleton.
  <p>
  The given {@link GVRPose} object becomes linked to the skeleton
  so that changes to this pose change the bones of the skeleton
  and any skinned meshes driven by it.
  The current pose contains the current orientation and position of the bones in the skeleton,
  relative to bones at the origin along the bone axis.
  The "world" matrices of the bind pose are relative to the root bone
  of the skeleton.
  
  @param pose {@link @GVRPose} containing rotations and positions relative
  to the root bone of the skeleton.
  @see #getPose
  @see #restoreBindPose
  @see #setBindPose