code: public VectorFactor addFactor(ConcatVectorTable featureTable, int[] neighborIndices) {
      assert (featureTable.getDimensions().length == neighborIndices.length);
      VectorFactor factor = new VectorFactor(featureTable, neighborIndices);
      factors.add(factor);
      return factor;
    }
docs: Creates an instantiated factor in this graph, with neighborIndices representing the neighbor variables by integer
  index.
  
  @param featureTable    the feature table to use to drive the value of the factor
  @param neighborIndices the indices of the neighboring variables, in order
  @return a reference to the created factor. This can be safely ignored, as the factor is already saved in the model