code: private static boolean validatePart(String part, boolean isFinalPart) {
  
      // These tests could be collapsed into one big boolean expression, but
      // they have been left as independent tests for clarity.
  
      if (part.length() < 1 || part.length() > MAX_DOMAIN_PART_LENGTH) {
        return false;
      }
  
      /*
       * GWT claims to support java.lang.Character's char-classification methods, but it actually only
       * works for ASCII. So for now, assume any non-ASCII characters are valid. The only place this
       * seems to be documented is here:
       * http://osdir.com/ml/GoogleWebToolkitContributors/2010-03/msg00178.html
       *
       * <p>ASCII characters in the part are expected to be valid per RFC 1035, with underscore also
       * being allowed due to widespread practice.
       */
  
      String asciiChars = CharMatcher.ascii().retainFrom(part);
  
      if (!PART_CHAR_MATCHER.matchesAllOf(asciiChars)) {
        return false;
      }
  
      // No initial or final dashes or underscores.
  
      if (DASH_MATCHER.matches(part.charAt(0))
          || DASH_MATCHER.matches(part.charAt(part.length() - 1))) {
        return false;
      }
  
      /*
       * Note that we allow (in contravention of a strict interpretation of the relevant RFCs) domain
       * parts other than the last may begin with a digit (for example, "3com.com"). It's important to
       * disallow an initial digit in the last part; it's the only thing that stops an IPv4 numeric
       * address like 127.0.0.1 from looking like a valid domain name.
       */
  
      if (isFinalPart && CharMatcher.digit().matches(part.charAt(0))) {
        return false;
      }
  
      return true;
    }
docs: Helper method for {@link #validateSyntax(List)}. Validates that one part of a domain name is
  valid.
  
  @param part The domain name part to be validated
  @param isFinalPart Is this the final (rightmost) domain part?
  @return Whether the part is valid