{
if (subsystems == null || subsystems.length == 0) throw new TineRuntimeErrorException(TErrorList.argument_list_error);
USTRING[] ustr = new USTRING[200];
TDataType dout = new TDataType(ustr);
TLink tl = new TLink("/SITE/ENS/DEFAULT","SUBSYSTEMS.DESCRIPTIONS",dout,null,TAccess.CA_READ);
int cc = tl.executeAndClose(1000);
if (cc == TErrorList.link_timeout || cc == TErrorList.connection_timeout)
throw new IOException("timed out while contacting the ENS");
if (cc != 0) throw new TineRuntimeErrorException(cc);
int n = dout.getCompletionLength();
int m = subsystems.length;