code: private boolean isRandom(final String password, final List<Match> matches)
      {
          int matched_length = 0;
          int max_matched_length = 0;
          for (Match match : matches)
          {
              if (!(match instanceof BruteForceMatch))
              {
                  matched_length += match.getLength();
                  if (match.getLength() > max_matched_length)
                  {
                      max_matched_length = match.getLength();
                  }
              }
          }
  
          if (matched_length < (password.length() * 0.5))
          {
              return true;
          }
          else if (matched_length < (password.length() * 0.8) && password.length() * 0.25 > max_matched_length)
          {
              return true;
          }
          else
          {
              return false;
          }
      }
docs: Method to determine if the password should be considered random, and to just use brute force matches.
  <p>
  We determine a password to be random if the matches cover less than 50% of the password, or if they cover less than 80%
  but the max length for a match is no more than 25% of the total length of the password.
  
  @param password the password
  @param matches  the final list of matches
  @return true if determined to be random