title: Creating a path between two paths in Java using the Path class
body: <p>What does exactly mean this sentence from <a href="http://docs.oracle.com/javase/tutorial/essential/io/pathOps.html#resolve" rel="noreferrer">this</a> oracle java tutorial:</p>
  
  <blockquote>
    <p>A relative path cannot be constructed if only one of the paths
    includes a root element. If both paths include a root element, the
    capability to construct a relative path is system dependent.</p>
  </blockquote>
  
  <p>With "system dipendent" do they mean only that if an element contains a root it will work only in the platform specific syntax that has been written?
  I guess it is the only thing they mean.
  Are there any other ways of reading that?</p>
  
  <p>for example :</p>
  
  <pre><code>public class AnotherOnePathTheDust {
      public static void main (String []args)
      {
      Path p1 = Paths.get("home");
      Path p3 = Paths.get("home/sally/bar"); //with "/home/sally/bar" i would get an exception.
      // Result is sally/bar
      Path p1_to_p3 = p1.relativize(p3);
      // Result is ../..
  
      Path p3_to_p1 = p3.relativize(p1);
      System.out.println(p3_to_p1);   }
  }
  </code></pre>
  
  <p>The exception that I get by using "/home/sally/bar" instead of "home/sally/bar" (without root) is this one:</p>
  
  <pre><code> java.lang.IllegalArgumentException: 'other' is different type of Path
  </code></pre>
  
  <p>Why does it not work? what is the conflict with the system that they mean?</p>