code: @Override
      public void moveObject(final FedoraSession session, final String source, final String destination) {
          final Session jcrSession = getJcrSession(session);
          try {
              final FedoraResource srcResource = find(session, source);
              final Node sourceNode = getJcrNode(srcResource);
              final String name = sourceNode.getName();
              final Node parent = sourceNode.getDepth() > 0 ? sourceNode.getParent() : null;
  
              jcrSession.getWorkspace().move(source, destination);
  
              if (parent != null) {
                  createTombstone(parent, name);
              }
  
              touchLdpMembershipResource(getJcrNode(find(session, source)));
              touchLdpMembershipResource(getJcrNode(find(session, destination)));
  
          } catch (final RepositoryException e) {
              throw new RepositoryRuntimeException(e);
          }
      }
docs: Move an existing object from the source path to the destination path
  
  @param session the session
  @param source the source path
  @param destination the destination path