code: public C run(Database database, Relation<? extends UncertainObject> relation) {
      final int dim = RelationUtil.dimensionality(relation);
      DBIDs ids = relation.getDBIDs();
      // Build a relation storing the center of mass:
      WritableDataStore<DoubleVector> store1 = DataStoreUtil.makeStorage(ids, DataStoreFactory.HINT_DB, DoubleVector.class);
      for(DBIDIter iter = ids.iter(); iter.valid(); iter.advance()) {
        store1.put(iter, relation.get(iter).getCenterOfMass());
      }
      return runClusteringAlgorithm(database.getHierarchy(), relation, ids, store1, dim, "Uncertain Model: Center of Mass");
    }
docs: This run method will do the wrapping.
  <p>
  Its called from {@link AbstractAlgorithm#run(Database)} and performs the
  call to the algorithms particular run method as well as the storing and
  comparison of the resulting Clusterings.
  
  @param database Database
  @param relation Data relation of uncertain objects
  @return Clustering result