code: public SmartHandle guard(SmartHandle target, SmartHandle fallback) {
          return new SmartHandle(target.signature, MethodHandles.guardWithTest(handle, target.handle, fallback.handle));
      }
docs: Use this SmartHandle as a test to guard target and fallback handles.
  
  @param target   the "true" path for this handle's test
  @param fallback the "false" path for this handle's test
  @return a new SmartHandle that performs the test and branch