code: public static String readStateAttribute(String rawValue) throws ParseException {
          if (MODEL.DELETED.looselyMatches(rawValue, true)) {
              return "D";
          } else if (MODEL.INACTIVE.looselyMatches(rawValue, true)) {
              return "I";
          } else if (MODEL.ACTIVE.looselyMatches(rawValue, true)
                      || rawValue == null
                      || rawValue.isEmpty()) {
              return "A";
          } else {
                  throw new ParseException("Could not interpret state value of '"
                                     + rawValue + "'", 0);
          }
      }
docs: Parse and read the object state value from raw text.
  <p>
  Reads a text representation of object state, and returns a "state code"
  abbreviation corresponding to that state.  Null or empty values are interpreted
  as "Active".
  </p>
  
  XXX: It might clearer to nix state codes altogether and just use the full value
  
  @param rawValue Raw string to parse.  May be null
  @return String containing the state code (A, D, or I)
  @throws ParseException thrown when state value cannot be determined