public boolean setInputFormat(Instances instanceInfo) throws Exception {

    super.setInputFormat(instanceInfo);
    
    // Make the obfuscated header
    FastVector v = new FastVector();
    for (int i = 0; i < instanceInfo.numAttributes(); i++) {
      Attribute oldAtt = instanceInfo.attribute(i);
      Attribute newAtt = null;
      switch (oldAtt.type()) {
	case Attribute.NUMERIC:
	  newAtt = new Attribute("A" + (i + 1));
	  break;
	case Attribute.DATE:
	  String format = oldAtt.getDateFormat();
	  newAtt = new Attribute("A" + (i + 1), format);
	  break;
	case Attribute.NOMINAL:
	  FastVector vals = new FastVector();
	  for (int j = 0; j < oldAtt.numValues(); j++) {
	    vals.addElement("V" + (j + 1));
	  }
	  newAtt = new Attribute("A" + (i + 1), vals);
	  break;
	case Attribute.STRING:
	case Attribute.RELATIONAL:
	default:
	  newAtt = (Attribute) oldAtt.copy();
  	  System.err.println("Not converting attribute: " + oldAtt.name());
	  break;
      }
      v.addElement(newAtt);
    }
    Instances newHeader = new Instances("R", v, 10);
    newHeader.setClassIndex(instanceInfo.classIndex());
    setOutputFormat(newHeader);
    return true;
  }