protected void logReferenceInfo() {
    Reference reference = getReference();
    getLiberecoResourceLogger()
        .debug(
            "Reference, path ["
                + reference.getPath()
                + "], identifier: "
                + reference.getIdentifier()
                + ", last segment: "
                + reference.getLastSegment()
                + ", path: "
                + reference.getPath()
                + ", relative part: "
                + reference.getRelativePart()
                + ", remaining part: "
                + reference.getRemainingPart()
                + ", fragment: "
                + reference.getFragment()
                + ", segments: "
                + reference.getSegments());

    List<String> segments = reference.getSegments();

    if (segments != null) {
      for (String segment : segments) {
        getLiberecoResourceLogger().debug("Segment: " + segment);
      }
    }
  }
 /**
  * Tests the parsing of a reference into its components
  *
  * @param reference
  * @param scheme
  * @param authority
  * @param path
  * @param query
  * @param fragment
  */
 private void testRef0(
     String reference,
     String scheme,
     String authority,
     String path,
     String query,
     String fragment) {
   final Reference ref = new Reference(reference);
   assertEquals(scheme, ref.getScheme());
   assertEquals(authority, ref.getAuthority());
   assertEquals(path, ref.getPath());
   assertEquals(query, ref.getQuery());
   assertEquals(fragment, ref.getFragment());
 }