void
Redistributor<Node>::redistribute_reverse(const  ::Tpetra::Vector<double,int,int,Node> & input_vector,  ::Tpetra::Vector<double,int,int,Node> & output_vector)
{
  if (!created_importer_) {
    create_importer(input_vector.Map());
  }

  // Export using the importer
  output_vector.Export(input_vector, *importer_, ::Tpetra::INSERT);

}
void
Redistributor<Node>::redistribute(const ::Tpetra::Vector<double,int,int,Node>& inputVector, 
                                  ::Tpetra::Vector<double,int,int,Node> * &outputVector)
{
  if (!created_importer_) {
    create_importer(inputVector.Map());
  }

  outputVector = new ::Tpetra::Vector<double,int,int,Node>(*target_map_);

  outputVector->Import(inputVector, *importer_, ::Tpetra::INSERT);

  return;
}