code: public static boolean isNotPoBox(String s) {
          if (isEmpty(s)) return defaultEmptyOK;
  
          // strings to check from Greg's program
          // "P.O. B"
          // "P.o.B"
          // "P.O B"
          // "PO. B"
          // "P O B"
          // "PO B"
          // "P.0. B"
          // "P0 B"
  
          String sl = s.toLowerCase();
          if (sl.indexOf("p.o. b") != -1) return false;
          if (sl.indexOf("p.o.b") != -1) return false;
          if (sl.indexOf("p.o b") != -1) return false;
          if (sl.indexOf("p o b") != -1) return false;
          if (sl.indexOf("po b") != -1) return false;
          if (sl.indexOf("pobox") != -1) return false;
          if (sl.indexOf("po#") != -1) return false;
          if (sl.indexOf("po #") != -1) return false;
  
          // now with 0's for them sneaky folks
          if (sl.indexOf("p.0. b") != -1) return false;
          if (sl.indexOf("p.0.b") != -1) return false;
          if (sl.indexOf("p.0 b") != -1) return false;
          if (sl.indexOf("p 0 b") != -1) return false;
          if (sl.indexOf("p0 b") != -1) return false;
          if (sl.indexOf("p0box") != -1) return false;
          if (sl.indexOf("p0#") != -1) return false;
          if (sl.indexOf("p0 #") != -1) return false;
          return true;
      }
docs: isNotPoBox returns true if address argument does not contain anything that looks like a a PO Box.