code: private static boolean isOk(String txt) {
  
          if (UPPER_THEN_LOWER.matcher(txt).matches())
              return true;
  
          int ints = 0;
          for (char c : txt.toCharArray()) {
              if (isDigit(c)) {
                  ints++;
              }
          }
          if (ints * 2 > txt.length())
              return true;
  
          return false;
      }
docs: Whitelisting. Ok if Uppercase-then-lowercases or
  2x-more-digits-than-letters.
  
  On a sample doc (), went from 1975 OOV to 1116 with
  Uppercase-then-lowercases, then down to 729 with
  2x-more-digits-than-letters.
  
  @return true if this token is acceptable (=considered NOT an OOV).