I have problem with setting the attributes to PrintRequestAttributeSet , printer is not accepting the attributes set in PrintRequestAttributeSet,

none of the follwoing set is not reconized,

aset.add(new Copies(2));
aset.add(MediaTray.BOTTOM);
aset.add(MediaSizeName.NA_LETTER);

it always takes what attributes set in the printer.

I am using following code for printing,

DocFlavor flavor = DocFlavor.INPUT_STREAM.AUTOSENSE;
PrintService[] services = PrintServiceLookup.lookupPrintServices(flavor, null);
DocPrintJob printJob = null;

for (int i = 0; i < services.length; i++) {
if (services[i].getName().equals("MyPrinterNAme")) {
printJob = services[i].createPrintJob();
}
}

Doc doc = new InputStreamDoc(textfile, flavor);
PrintRequestAttributeSet aset = new HashPrintRequestAttributeSet ();
aset.add(MediaTray.MANUAL);
aset.add(new Copies(2));
try{
printJob.print(doc, aset);
System.out.println("Prtinting done");
catch (PrintException pe){
System.out.println("Prtinting failed since - " + pe.getLocalizedMessage());
}

What i am doing wrong in this? Is there anything need to configure in the printer for accepting these attributes?
I am using INPUT_STREAM.AUTOSENSE and printing a Text file

Can some one help me on this?