code: @SuppressWarnings("unchecked")
      public <T> List<T> get(final URI property, final Class<T> valueClass)
              throws IllegalArgumentException {
          final Object result;
          synchronized (this) {
              result = doGet(property, valueClass);
          }
          if (result == null) {
              return ImmutableList.of();
          } else if (result instanceof List<?>) {
              return (List<T>) result;
          } else {
              return ImmutableList.of((T) result);
          }
      }
docs: Returns the values of the property converted to instances of a certain class. Note that
  this method fails if conversion is not possible for one or more of the property values; if
  this is not the desired behavior, use {@link #get(URI, Class, List)} specifying an
  appropriate default value to be returned in case of conversion failure.
  
  @param property
  the property to read
  @param valueClass
  the class values have to be converted to
  @param <T>
  the type of property values
  @return an immutable list with the values of the property, converted to the class
  specified, possibly empty
  @throws IllegalArgumentException
  in case one of the property values cannot be converted to the class specified