code: @Override
      public boolean endsWith(final Path other) {
          // Precondition checks
          if (other == null) {
              throw new IllegalArgumentException("other path must be specified");
          }
          // Unequal FS? (also ensures that we can safely cast to this type later)
          if (this.getFileSystem() != other.getFileSystem()) {
              return false;
          }
          final List<String> ourTokens = tokenize(this);
          final List<String> otherTokens = tokenize((ShrinkWrapPath) other);
  
          // Bigger than us, fails
          final int numOtherTokens = otherTokens.size();
          if (numOtherTokens > ourTokens.size()) {
              return false;
          }
  
          // Difference in component size
          final int differential = ourTokens.size() - numOtherTokens;
          // Given an absolute?
          if (other.isAbsolute()) {
              // We must have the same number of elements
              if (differential != 0) {
                  return false;
              }
          }
          // Compare all components
          for (int i = numOtherTokens - 1; i >= 0; i--) {
              if (!ourTokens.get(i + differential).equals(otherTokens.get(i))) {
                  // Any tokens don't match, punt
                  return false;
              }
          }
  
          // All conditions met
          return true;
      }
docs: {@inheritDoc}
  
  @see java.nio.file.Path#endsWith(java.nio.file.Path)