code: @Override
      public boolean startsWith(final Path other) {
          // Precondition checks
          if (other == null) {
              throw new IllegalArgumentException("other path must be specified");
          }
          // Unequal FS
          if (this.getFileSystem() != other.getFileSystem()) {
              return false;
          }
  
          // Tokenize each
          final List<String> ourTokens = tokenize(this);
          final List<String> otherTokens = tokenize((ShrinkWrapPath) other);
  
          // Inequal roots
          if (other.isAbsolute() && !this.isAbsolute()) {
              return false;
          }
  
          // More names in the other Path than we have
          final int otherTokensSize = otherTokens.size();
          if (otherTokensSize > ourTokens.size()) {
              return false;
          }
  
          // Ensure each of the other name elements match ours
          for (int i = 0; i < otherTokensSize; i++) {
              if (!otherTokens.get(i).equals(ourTokens.get(i))) {
                  return false;
              }
          }
  
          // All conditions met
          return true;
      }
docs: {@inheritDoc}
  
  @see java.nio.file.Path#startsWith(java.nio.file.Path)