public static PlistValueType fromObject(Object o) {
    if (o instanceof String) {
      return STRING;
    }
    if (o instanceof Integer) {
      return INTEGER;
    }
    if (o instanceof Plist) {
      return DICT;
    }
    if (o instanceof List) {
      return ARRAY;
    }
    if (o instanceof Double) {
      return REAL;
    }
    if (o instanceof Boolean) {
      return BOOLEAN;
    }
    if (o instanceof Date) {
      return DATE;
    }
    throw new RuntimeException("Unknown type of object: " + o);
  }
public static PlistValueType fromObject(Object o)