code: @Override
    @SuppressWarnings("unchecked")
    public <T> Dataset<T> asType(Class<T> type) {
      if (getType().equals(type)) {
        return (Dataset<T>) this;
      }
      return Datasets.load(getUri(), type);
    }
docs: Creates a copy of this {@code Dataset} that reads and writes entities of
  the given type class.
  
  @param <T>
  The type of entities that will be read or written by this
  dataset.
  @param type an entity class to use
  @return a copy of this view that projects entities to the given type
  @throws org.kitesdk.data.IncompatibleSchemaException
  If the given {@code type} is incompatible with the underlying
  dataset.