code: private static String validate(String ssn) {
  
      // Careful, checks must not leak the SSN in stack traces!
  
      checkArgument(ssn.length() == 9);
      try {
        parseInt(ssn);
      } catch (NumberFormatException e) {
        throw new IllegalArgumentException();
      }
  
      String firstPart = firstPartOf(ssn);
      String secondPart = secondPartOf(ssn);
      String thirdPart = thirdPartOf(ssn);
  
      for (int i = 734; i <= 749; i++) {
        checkArgument(!firstPart.equals(String.valueOf(i)));
      }
      checkArgument(parseInt(firstPart) <= 772);
  
      checkArgument(!firstPart.equals("000"));
      checkArgument(!secondPart.equals("00"));
      checkArgument(!thirdPart.equals("0000"));
  
      checkArgument(!firstPart.equals("666"));
  
      for (int i = 0; i <= 9; i++) {
        checkArgument(!ssn.equals("98765432" + i));
      }
  
      return ssn;
    }
docs: Performs simple validation. Note that many fraudulent SSNs cannot easily
  be detected using only publicly available information. The following
  numbers are invalid:
  <ol>
  <li>Numbers with an area number between 734 and 749, or above 772</li>
  <li>Numbers with all zeros in any digit group</li>
  <li>Numbers of the form 666-xx-####</li>
  <li>Numbers from 987-65-4320 to 987-65-4329</li>
  </ol>
  @throws IllegalArgumentException if the SSN is invalid
  @return the untouched SSN, so it can be passed to the super class