/**
   * Tests the checkout service method passing a destination for the working copy
   *
   * @throws Exception
   */
  public void xtestCheckoutWithDestination() throws Exception {
    Reference reference = createContentAtRoot("version_test.txt", INITIAL_VERSION_CONTENT);
    Predicate predicate = convertToPredicate(reference);
    ParentReference parentReference =
        getFolderParentReference("{" + Constants.NAMESPACE_CONTENT_MODEL + "}workingCopy");

    // Checkout the content to the folder
    CheckoutResult result = this.authoringService.checkout(predicate, parentReference);
    assertNotNull(result);
    assertEquals(1, result.getOriginals().length);
    assertEquals(1, result.getWorkingCopies().length);

    // TODO need to check that the working copy and the origional are in the correct states
  }
  /**
   * Reusable method to do a standard checkout
   *
   * @return
   * @throws Exception
   */
  private Reference doCheckOut() throws Exception {
    // Use the helper to create the verionable node
    Reference reference = createContentAtRoot("version_test.txt", INITIAL_VERSION_CONTENT);
    Predicate predicate = convertToPredicate(reference);

    // Check the content out (to the same detination)
    CheckoutResult result = this.authoringService.checkout(predicate, null);
    assertNotNull(result);
    assertEquals(1, result.getOriginals().length);
    assertEquals(1, result.getWorkingCopies().length);

    // TODO need to check that the working copy and the origional are in the correct states ...

    return result.getWorkingCopies()[0];
  }