code: public static Optional<Property> parseProperty(String value, Map<String, Vocab> vocabs,
        ValidationContext context, EPUBLocation location)
    {
  
      return Optional.fromNullable(
          Iterables.get(parseProperties(value, vocabs, false, context, location), 0, null));
    }
docs: Parses a single property value and report validation errors on the fly.
  
  @param value
  the value to parse.
  @param vocabs
  a map of prefix to vocabularies.
  @param context
  the validation context (report, locale, path, etc).
  @param location
  the location in the validated file.
  @return an {@link Optional} containing the property if it was parsed
  successfully or nothing if there was a parsing error