nus-yam/ex-repair huggingface dataset:
Program: 25090
Project: 25090
Buggy source:
/** 
 * <p><i>Note: This function should be extended if you have customized the creation of any  {@link ADQLQuery} part ; it could be the addition of one or several user defined functionor the modification of any ADQL function or clause specific to your implementation. </i></p>
 * @see tap.TAPFactory#createQueryFactory()
 */
@Override public ADQLQueryFactory createQueryFactory() throws TAPException {
  return new ADQLQueryFactory();
}

Fixed version (ground truth):
/** 
 * <p><i>Note: This function should be extended if you have customized the creation of any  {@link ADQLQuery} part ; it could be the addition of one or several user defined functionor the modification of any ADQL function or clause specific to your implementation. </i></p>
 */
@Override public ADQLQueryFactory createQueryFactory() throws TAPException {
  return new ADQLQueryFactory();
}
Program: 25091
Project: 25091
Buggy source:
/** 
 * <p>This implementation just create an   {@link Uploader} instance with the given database connection.</p><p><i>Note: This function should be overrided if the way user tables are interpreted and then created into the database does not fit yours needs. </i></p>
 * @see tap.TAPFactory#createUploader(tap.db.DBConnection)
 * @see Uploader
 */
@Override public Uploader createUploader(final DBConnection dbConn) throws TAPException {
  return new Uploader(service,dbConn);
}

Fixed version (ground truth):
/** 
 * <p>This implementation just create an   {@link Uploader} instance with the given database connection.</p><p><i>Note: This function should be overrided if you need to change the DB name of the TAP_UPLOAD schema. Indeed, by overriding this function you can specify a given TAPSchema to use as TAP_UPLOAD schema in the constructor of  {@link Uploader}. But do not forget that this   {@link TAPSchema} instance MUST havean ADQL name equals to "TAP_UPLOAD", otherwise, a TAPException will be thrown. </i></p>
 */
@Override public Uploader createUploader(final DBConnection dbConn) throws TAPException {
  return new Uploader(service,dbConn);
}
Program: 25092
Project: 25092
Buggy source:
/** 
 * <p>This implementation just create a   {@link UWSService} instance.</p><p><i>Note: This implementation is largely enough for a TAP service. It is not recommended to override this function. </i></p>
 * @see tap.TAPFactory#createUWS()
 */
@Override public UWSService createUWS() throws TAPException {
  UWSService uws=new UWSService(this,this.service.getFileManager(),this.service.getLogger());
  uws.setErrorWriter(errorWriter);
  return uws;
}

Fixed version (ground truth):
/** 
 * <p>This implementation just create a   {@link UWSService} instance.</p><p><i>Note: This implementation is largely enough for a TAP service. It is not recommended to override this function. </i></p>
 */
@Override public UWSService createUWS() throws TAPException {
  UWSService uws=new UWSService(this,this.service.getFileManager(),this.service.getLogger());
  uws.setErrorWriter(errorWriter);
  return uws;
}
Program: 25094
Project: 25094
Buggy source:
/** 
 * Build an   {@link Uploader} object.
 * @param service	Specification of the TAP service using this uploader.
 * @param dbConn	A valid (open) connection to the "database".
 * @throws TAPException	If any error occurs while building this {@link Uploader}.
 */
public Uploader(final ServiceConnection service,final DBConnection dbConn) throws TAPException {
  if (service == null)   throw new NullPointerException("String_Node_Str");
  if (dbConn == null)   throw new NullPointerException("String_Node_Str");
  this.service=service;
  this.dbConn=dbConn;
  if (this.service.uploadEnabled()) {
    if (this.service.getUploadLimitType()[1] != null && this.service.getUploadLimit()[1] > 0) {
      limit=this.service.getUploadLimit()[1];
      limitUnit=this.service.getUploadLimitType()[1];
    }
 else {
      limit=-1;
      limitUnit=null;
    }
  }
 else   throw new TAPException("String_Node_Str");
}

Fixed version (ground truth):
/** 
 * Build an   {@link Uploader} object.
 * @param service	Specification of the TAP service using this uploader.
 * @param dbConn	A valid (open) connection to the "database".
 * @throws TAPException	If any error occurs while building this {@link Uploader}.
 * @since 2.0
 */
public Uploader(final ServiceConnection service,final DBConnection dbConn,final TAPSchema uplSchema) throws TAPException {
  if (service == null)   throw new NullPointerException("String_Node_Str");
  if (dbConn == null)   throw new NullPointerException("String_Node_Str");
  this.service=service;
  this.dbConn=dbConn;
  if (uplSchema != null) {
    if (!uplSchema.getADQLName().equalsIgnoreCase(TAPMetadata.STDSchema.UPLOADSCHEMA.label))     throw new TAPException("String_Node_Str" + TAPMetadata.STDSchema.UPLOADSCHEMA.label + "String_Node_Str"+ uplSchema.getADQLName()+ "String_Node_Str",UWSException.INTERNAL_SERVER_ERROR);
 else     this.uploadSchema=uplSchema;
  }
 else   this.uploadSchema=new TAPSchema(TAPMetadata.STDSchema.UPLOADSCHEMA.label,"String_Node_Str");
  if (this.service.uploadEnabled()) {
    if (this.service.getUploadLimitType()[1] != null && this.service.getUploadLimit()[1] > 0) {
      limit=this.service.getUploadLimit()[1];
      limitUnit=this.service.getUploadLimitType()[1];
    }
 else {
      limit=-1;
      limitUnit=null;
    }
  }
 else   throw new TAPException("String_Node_Str");
}
Program: 25096
Project: 25096
Buggy source:
/** 
 * <p>This function lets generating a unique ID.</p> <p><i><b>By default:</b> System.currentTimeMillis()+UpperCharacter (UpperCharacter: one upper-case character: A, B, C, ....)</i></p> <p><i><u>note: </u> DO NOT USE in this function any of the following functions:   {@link #getLogger()},  {@link #getFileManager()} and {@link #getFactory()}. All of them will return NULL, because this job does not yet know its jobs list (which is needed to know the UWS and so, all of the objects returned by these functions).</i></p>
 * @return	A unique job identifier.
 */
protected String generateJobId(){
  String generatedId=System.currentTimeMillis() + "String_Node_Str";
  if (lastId != null) {
    while (lastId.equals(generatedId))     generatedId=generatedId.substring(0,generatedId.length() - 1) + (char)(generatedId.charAt(generatedId.length() - 1) + 1);
  }
  lastId=generatedId;
  return generatedId;
}

Fixed version (ground truth):
/** 
 * <p>This function lets generating a unique ID.</p> <p><i><b>By default:</b> System.currentTimeMillis()+UpperCharacter (UpperCharacter: one upper-case character: A, B, C, ....)</i></p> <p><i><u>note: </u> DO NOT USE in this function any of the following functions:   {@link #getLogger()},  {@link #getFileManager()} and {@link #getFactory()}. All of them will return NULL, because this job does not yet know its jobs list (which is needed to know the UWS and so, all of the objects returned by these functions).</i></p>
 * @return	A unique job identifier.
 */
protected String generateJobId(){
synchronized (lastId) {
    String generatedId=System.currentTimeMillis() + "String_Node_Str";
    if (lastId != null) {
      while (lastId.equals(generatedId))       generatedId=generatedId.substring(0,generatedId.length() - 1) + (char)(generatedId.charAt(generatedId.length() - 1) + 1);
    }
    lastId=generatedId;
    return generatedId;
  }
}
Program: 25097
Project: 25097
Buggy source:
/** 
 * Build a basic TAPFactory. Nothing is done except setting the service connection.
 * @param service	Configuration of the TAP service. <i>MUST NOT be NULL</i>
 * @throws NullPointerException	If the given {@link ServiceConnection} is NULL.
 * @see {@link TAPFactory#TAPFactory(ServiceConnection)}
 */
protected AbstractTAPFactory(ServiceConnection service) throws NullPointerException {
  super(service);
}

Fixed version (ground truth):
/** 
 * <p>Build a basic TAPFactory. Nothing is done except setting the service connection and the given error writer.</p> <p>Then the error writer will be used when creating a UWS service and a job thread.</p>
 * @param service		Configuration of the TAP service. <i>MUST NOT be NULL</i>
 * @param errorWriter	Object to use to format and write the errors for the user.
 * @throws NullPointerException	If the given {@link ServiceConnection} is NULL.
 * @see {@link TAPFactory#TAPFactory(ServiceConnection)}
 */
protected AbstractTAPFactory(final ServiceConnection service,final ServiceErrorWriter errorWriter) throws NullPointerException {
  super(service);
  this.errorWriter=errorWriter;
}
Program: 25098
Project: 25098
Buggy source:
/** 
 * <p>This implementation just create a   {@link UWSService} instance.</p><p><i>Note: This implementation is largely enough for a TAP service. It is not recommended to override this function. </i></p>
 * @see tap.TAPFactory#createUWS()
 */
@Override public UWSService createUWS() throws TAPException {
  return new UWSService(this,this.service.getFileManager(),this.service.getLogger());
}

Fixed version (ground truth):
/** 
 * <p>This implementation just create a   {@link UWSService} instance.</p><p><i>Note: This implementation is largely enough for a TAP service. It is not recommended to override this function. </i></p>
 * @see tap.TAPFactory#createUWS()
 */
@Override public UWSService createUWS() throws TAPException {
  UWSService uws=new UWSService(this,this.service.getFileManager(),this.service.getLogger());
  uws.setErrorWriter(errorWriter);
  return uws;
}
Program: 25099
Project: 25099
Buggy source:
public AsyncThread(TAPJob j,ADQLExecutor executor) throws UWSException {
  super(j,"String_Node_Str" + j.getJobId());
  this.executor=executor;
}

Fixed version (ground truth):
/** 
 * Build a TAP asynchronous job execution.
 * @param j				Description of the job to execute.
 * @param executor		The object to use for the ADQL execution itself.
 * @param errorWriter	The object to use to format and to write an execution error for the user.
 * @throws NullPointerException	If the job parameter is missing.
 */
public AsyncThread(final TAPJob j,final ADQLExecutor executor,final ServiceErrorWriter errorWriter) throws NullPointerException {
  super(j,"String_Node_Str" + j.getJobId(),errorWriter);
  this.executor=executor;
}
Program: 25100
Project: 25100
Buggy source:
public final TAPJob getTAPJob(){
  return (TAPJob)job;
}

Fixed version (ground truth):
/** 
 * Get the description of the job that this thread is executing.
 * @return	The executed job.
 */
public final TAPJob getTAPJob(){
  return (TAPJob)job;
}
Program: 25101
Project: 25101
Buggy source:
/** 
 * <p>Create the thread which will execute the task described by the given UWSJob instance.</p> <p> This function is definitely implemented here and can not be overrided. The processing of an ADQL query must always be the same in a TAP service ; it is completely done by   {@link AsyncThread}. </p>
 * @see uws.service.UWSFactory#createJobThread(uws.job.UWSJob)
 * @see AsyncThread
 */
@Override public final JobThread createJobThread(final UWSJob job) throws UWSException {
  try {
    return new AsyncThread((TAPJob)job,createADQLExecutor());
  }
 catch (  TAPException te) {
    throw new UWSException(UWSException.INTERNAL_SERVER_ERROR,te,"String_Node_Str");
  }
}

Fixed version (ground truth):
/** 
 * <p>Create the thread which will execute the task described by the given UWSJob instance.</p> <p> This function is definitely implemented here and can not be overridden. The processing of an ADQL query must always be the same in a TAP service ; it is completely done by   {@link AsyncThread}. </p>
 * @see uws.service.UWSFactory#createJobThread(uws.job.UWSJob)
 * @see AsyncThread
 */
@Override public final JobThread createJobThread(final UWSJob job) throws UWSException {
  try {
    return new AsyncThread((TAPJob)job,createADQLExecutor(),getErrorWriter());
  }
 catch (  TAPException te) {
    throw new UWSException(UWSException.INTERNAL_SERVER_ERROR,te,"String_Node_Str");
  }
}
Program: 25102
Project: 25102
Buggy source:
@Override public void writeError(final String message,final ErrorType type,final int httpErrorCode,final HttpServletResponse response,final HttpServletRequest request,final String reqID,final JobOwner user,final String action) throws IOException {
  if (message == null || response == null)   return;
  response.reset();
  response.setStatus((httpErrorCode <= 0) ? 500 : httpErrorCode);
  response.setContentType("String_Node_Str");
  HashMap<String,String> addInfos=new HashMap<String,String>();
  if (reqID != null)   addInfos.put("String_Node_Str",reqID);
  if (type != null)   addInfos.put("String_Node_Str",type.toString());
  if (user != null)   addInfos.put("String_Node_Str",user.getID() + ((user.getPseudo() == null) ? "String_Node_Str" : "String_Node_Str" + user.getPseudo() + "String_Node_Str"));
  if (action != null)   addInfos.put("String_Node_Str",action);
  formatter.writeError(message,addInfos,response.getWriter());
}

Fixed version (ground truth):
@Override public void writeError(Throwable t,ErrorSummary error,UWSJob job,OutputStream output) throws IOException {
  String message;
  if (error != null && error.getMessage() != null)   message=error.getMessage();
 else   if (t != null)   message=(t.getMessage() == null) ? t.getClass().getName() : t.getMessage();
 else   message="String_Node_Str";
  HashMap<String,String> addInfos=new HashMap<String,String>();
  if (job != null) {
    addInfos.put("String_Node_Str",job.getJobId());
    if (job.getOwner() != null)     addInfos.put("String_Node_Str",job.getOwner().getID() + ((job.getOwner().getPseudo() == null) ? "String_Node_Str" : "String_Node_Str" + job.getOwner().getPseudo() + "String_Node_Str"));
  }
  if (error != null && error.getType() != null)   addInfos.put("String_Node_Str",error.getType().toString());
  addInfos.put("String_Node_Str","String_Node_Str");
  formatter.writeError(message,addInfos,new PrintWriter(output));
}
Program: 25103
Project: 25103
Buggy source:
/** 
 * Build a HOME resource of a TAP service whose the description is given in parameter. All the other TAP resources will be created and configured here thanks to the given   {@link ServiceConnection}. 
 * @param serviceConnection	Description of the TAP service.
 * @throws UWSException	If an error occurs while creating the /async resource.
 * @throws TAPException	If any other error occurs.
 */
public TAP(ServiceConnection serviceConnection) throws UWSException, TAPException {
  service=serviceConnection;
  resources=new HashMap<String,TAPResource>();
  errorWriter=new DefaultTAPErrorWriter(service);
  TAPResource res=new Availability(service);
  resources.put(res.getName(),res);
  res=new Capabilities(this);
  resources.put(res.getName(),res);
  res=new Sync(service,(Capabilities)res);
  resources.put(res.getName(),res);
  res=new ASync(service);
  resources.put(res.getName(),res);
  getUWS().setErrorWriter(errorWriter);
  TAPMetadata metadata=service.getTAPMetadata();
  if (metadata != null)   resources.put(metadata.getName(),metadata);
}

Fixed version (ground truth):
/** 
 * Build a HOME resource of a TAP service whose the description is given in parameter. All the other TAP resources will be created and configured here thanks to the given   {@link ServiceConnection}. 
 * @param serviceConnection	Description of the TAP service.
 * @throws UWSException	If an error occurs while creating the /async resource.
 * @throws TAPException	If any other error occurs.
 */
public TAP(ServiceConnection serviceConnection) throws UWSException, TAPException {
  service=serviceConnection;
  resources=new HashMap<String,TAPResource>();
  errorWriter=new DefaultTAPErrorWriter(service);
  TAPResource res=new Availability(service);
  resources.put(res.getName(),res);
  res=new Capabilities(this);
  resources.put(res.getName(),res);
  res=new Sync(service,(Capabilities)res);
  resources.put(res.getName(),res);
  res=new ASync(service);
  resources.put(res.getName(),res);
  TAPMetadata metadata=service.getTAPMetadata();
  if (metadata != null)   resources.put(metadata.getName(),metadata);
}
Program: 25104
Project: 25104
Buggy source:
@Override public boolean next() throws IOException {
  irow++;
  try {
    if (maxrec <= 0 || irow < maxrec) {
      boolean hasNext=tableIt.nextRow();
      if (hasNext) {
        for (int i=0; i < nbCol && tableIt.hasNextCol(); i++)         row[i]=tableIt.nextCol();
      }
 else       row=null;
      return hasNext;
    }
 else {
      overflow=tableIt.nextRow();
      row=null;
      return false;
    }
  }
 catch (  DataReadException dre) {
    if (dre.getCause() != null && dre.getCause() instanceof IOException)     throw (IOException)(dre.getCause());
 else     throw new IOException(dre);
  }
}

Fixed version (ground truth):
@Override public boolean next() throws IOException {
  irow++;
  try {
    if (maxrec < 0 || irow < maxrec) {
      boolean hasNext=tableIt.nextRow();
      if (hasNext) {
        for (int i=0; i < nbCol && tableIt.hasNextCol(); i++)         row[i]=tableIt.nextCol();
      }
 else       row=null;
      return hasNext;
    }
 else {
      overflow=tableIt.nextRow();
      row=null;
      return false;
    }
  }
 catch (  DataReadException dre) {
    if (dre.getCause() != null && dre.getCause() instanceof IOException)     throw (IOException)(dre.getCause());
 else     throw new IOException(dre);
  }
}
Program: 25105
Project: 25105
Buggy source:
@Override public RowSequence getRowSequence() throws IOException {
  overflow=false;
  row=new Object[nbCol];
  return new RowSequence(){
    long irow=-1;
    @Override public boolean next() throws IOException {
      irow++;
      try {
        if (maxrec <= 0 || irow < maxrec) {
          boolean hasNext=tableIt.nextRow();
          if (hasNext) {
            for (int i=0; i < nbCol && tableIt.hasNextCol(); i++)             row[i]=tableIt.nextCol();
          }
 else           row=null;
          return hasNext;
        }
 else {
          overflow=tableIt.nextRow();
          row=null;
          return false;
        }
      }
 catch (      DataReadException dre) {
        if (dre.getCause() != null && dre.getCause() instanceof IOException)         throw (IOException)(dre.getCause());
 else         throw new IOException(dre);
      }
    }
    @Override public Object[] getRow() throws IOException {
      return row;
    }
    @Override public Object getCell(    int cellIndex) throws IOException {
      return row[cellIndex];
    }
    @Override public void close() throws IOException {
    }
  }
;
}

Fixed version (ground truth):
@Override public RowSequence getRowSequence() throws IOException {
  overflow=false;
  row=new Object[nbCol];
  return new RowSequence(){
    long irow=-1;
    @Override public boolean next() throws IOException {
      irow++;
      try {
        if (maxrec < 0 || irow < maxrec) {
          boolean hasNext=tableIt.nextRow();
          if (hasNext) {
            for (int i=0; i < nbCol && tableIt.hasNextCol(); i++)             row[i]=tableIt.nextCol();
          }
 else           row=null;
          return hasNext;
        }
 else {
          overflow=tableIt.nextRow();
          row=null;
          return false;
        }
      }
 catch (      DataReadException dre) {
        if (dre.getCause() != null && dre.getCause() instanceof IOException)         throw (IOException)(dre.getCause());
 else         throw new IOException(dre);
      }
    }
    @Override public Object[] getRow() throws IOException {
      return row;
    }
    @Override public Object getCell(    int cellIndex) throws IOException {
      return row[cellIndex];
    }
    @Override public void close() throws IOException {
    }
  }
;
}
Program: 25107
Project: 25107
Buggy source:
/** 
 * Makes a copy of this instance of   {@link DBTable}, with the possibility to change the DB and ADQL names.
 * @param dbName	Its new DB name.
 * @param adqlName	Its new ADQL name.
 * @return			A modified copy of this {@link DBTable}.
 */
public DBTable copy(final String dbName,final String adqlName);

Fixed version (ground truth):
/** 
 * <p>Makes a copy of this instance of   {@link DBTable}, with the possibility to change the DB and ADQL names.</p> <p><b>IMPORTANT:</b> <b>The given DB and ADQL name may be NULL.</b> If NULL, the copy will contain exactly the same full name (DB and/or ADQL).<br/> <b>And they may be qualified</b> (that's to say: prefixed by the schema name or by the catalog and schema name). It means that it is possible to change the catalog, schema and table name in the copy.<br/> For instance: </p> <ul> <li><i>.copy(null, "foo") =></i> a copy with the same full DB name, but with no ADQL catalog and schema name and with an ADQL table name equals to "foo"</li> <li><i>.copy("schema.table", ) =></i> a copy with the same full ADQL name, but with no DB catalog name, with a DB schema name equals to "schema" and with a DB table name equals to "table"</li> </ul>
 * @param dbName	Its new DB name.It may be qualified. It may also be NULL ; if so, the full DB name won't be different in the copy.
 * @param adqlName	Its new ADQL name.It may be qualified. It may also be NULL ; if so, the full DB name won't be different in the copy.
 * @return			A modified copy of this {@link DBTable}.
 */
public DBTable copy(final String dbName,final String adqlName);
Program: 25108
Project: 25108
Buggy source:
@Override public DBTable copy(final String dbName,final String adqlName){
  DefaultDBTable copy=new DefaultDBTable(dbName,adqlName);
  for (  DBColumn col : this) {
    if (col instanceof DBCommonColumn)     copy.addColumn(new DBCommonColumn((DBCommonColumn)col,col.getDBName(),col.getADQLName()));
 else     copy.addColumn(col.copy(col.getDBName(),col.getADQLName(),copy));
  }
  return copy;
}

Fixed version (ground truth):
@Override public DBTable copy(String dbName,String adqlName){
  dbName=(dbName == null) ? joinTableName(new String[]{dbCatalogName,dbSchemaName,this.dbName}) : dbName;
  adqlName=(adqlName == null) ? joinTableName(new String[]{adqlCatalogName,adqlSchemaName,this.adqlName}) : adqlName;
  DefaultDBTable copy=new DefaultDBTable(dbName,adqlName);
  for (  DBColumn col : this) {
    if (col instanceof DBCommonColumn)     copy.addColumn(new DBCommonColumn((DBCommonColumn)col,col.getDBName(),col.getADQLName()));
 else     copy.addColumn(col.copy(col.getDBName(),col.getADQLName(),copy));
  }
  return copy;
}
Program: 25110
Project: 25110
Buggy source:
@Override public boolean executeResource(final HttpServletRequest request,final HttpServletResponse response) throws IOException, TAPException {
  if (!request.getMethod().equalsIgnoreCase("String_Node_Str"))   throw new TAPException("String_Node_Str",HttpServletResponse.SC_METHOD_NOT_ALLOWED);
  response.setContentType("String_Node_Str");
  PrintWriter pw=response.getWriter();
  pw.println("String_Node_Str");
  pw.println("String_Node_Str");
  pw.print("String_Node_Str");
  pw.print(service.isAvailable());
  pw.println("String_Node_Str");
  pw.print("String_Node_Str");
  pw.print(VOSerializer.formatText(service.getAvailability()));
  pw.println("String_Node_Str");
  pw.println("String_Node_Str");
  pw.flush();
  return true;
}

Fixed version (ground truth):
@Override public boolean executeResource(final HttpServletRequest request,final HttpServletResponse response) throws IOException, TAPException {
  if (!request.getMethod().equalsIgnoreCase("String_Node_Str"))   throw new TAPException("String_Node_Str",HttpServletResponse.SC_METHOD_NOT_ALLOWED);
  response.setContentType("String_Node_Str");
  PrintWriter pw=response.getWriter();
  pw.println("String_Node_Str");
  pw.println("String_Node_Str");
  pw.print("String_Node_Str");
  pw.print(service.isAvailable());
  pw.println("String_Node_Str");
  pw.print("String_Node_Str");
  if (service.getAvailability() != null)   pw.print(VOSerializer.formatText(service.getAvailability()));
  pw.println("String_Node_Str");
  pw.println("String_Node_Str");
  pw.flush();
  return true;
}
Program: 25113
Project: 25113
Buggy source:
/** 
 * @param datatype		A datatype (ex: char, int, long, ...). <b>Null value forbidden</b>
 * @param arraysize		A non-null positive integer. (any value &le; 0 will be considered as an undetermined arraysize).
 * @param xtype			A special type (ex: adql:POINT, adql:TIMESTAMP, ...). Null value allowed.
 */
public VotType(final String datatype,final int arraysize,final String xtype){
  if (datatype == null)   throw new NullPointerException("String_Node_Str");
  this.datatype=datatype;
  this.arraysize=arraysize;
  this.xtype=xtype;
}

Fixed version (ground truth):
/** 
 * @param datatype		A datatype (ex: char, int, long, ...). <b>Null value forbidden</b>
 * @param arraysize		A non-null positive integer. (any value &le; 0 will be considered as an undetermined arraysize).
 * @param xtype			A special type (ex: adql:POINT, adql:TIMESTAMP, ...). Null value allowed.
 */
public VotType(final String datatype,final int arraysize,final String xtype){
  if (datatype == null)   throw new NullPointerException("String_Node_Str");
  this.datatype=datatype;
  this.arraysize=arraysize;
  this.xtype=(xtype != null && xtype.trim().length() <= 0) ? null : xtype;
}
Program: 25114
Project: 25114
Buggy source:
protected final String getFullDBName(final TAPTable table){
  return (table.getSchema() != null) ? (table.getSchema().getDBName() + "String_Node_Str") : "String_Node_Str";
}

Fixed version (ground truth):
protected final String getFullDBName(final TAPTable table){
  return ((table.getSchema() != null) ? (table.getSchema().getDBName() + "String_Node_Str") : "String_Node_Str") + table.getDBName();
}
Program: 25115
Project: 25115
Buggy source:
@Override public void connectionClosed(DBConnection connection){
}

Fixed version (ground truth):
@Override public void connectionClosed(DBConnection connection){
  dbActivity("String_Node_Str");
}
Program: 25116
Project: 25116
Buggy source:
public void connectionOpened(final DBConnection connection);

Fixed version (ground truth):
public void connectionOpened(final DBConnection connection,final String dbName);
Program: 25117
Project: 25117
Buggy source:
@Override public final Object getDefault(){
  if (service.getOutputLimit() != null && service.getOutputLimit().length >= 2 && service.getOutputLimitType() != null && service.getOutputLimitType().length == service.getOutputLimit().length) {
    if (service.getOutputLimit()[0] > 0 && service.getOutputLimitType()[0] == LimitUnit.rows)     return service.getOutputLimit()[0];
  }
  return getMaxOutputLimit();
}

Fixed version (ground truth):
@Override public final Object getDefault(){
  if (service.getOutputLimit() != null && service.getOutputLimit().length >= 2 && service.getOutputLimitType() != null && service.getOutputLimitType().length == service.getOutputLimit().length) {
    if (service.getOutputLimit()[0] > 0 && service.getOutputLimitType()[0] == LimitUnit.rows)     return service.getOutputLimit()[0];
  }
  return TAPJob.UNLIMITED_MAX_REC;
}
Program: 25118
Project: 25118
Buggy source:
@Override public Object check(Object value) throws UWSException {
  if (value == null)   return getDefault();
  int maxOutputLimit=getMaxOutputLimit();
  Integer defaultOutputLimit=(Integer)getDefault(), maxRec=null;
  if (value instanceof Integer)   maxRec=(Integer)value;
 else   if (value instanceof String) {
    String strValue=(String)value;
    try {
      maxRec=Integer.parseInt(strValue);
    }
 catch (    NumberFormatException nfe) {
      throw UWSExceptionFactory.badFormat(null,TAPJob.PARAM_MAX_REC,strValue,null,"String_Node_Str" + TAPJob.UNLIMITED_MAX_REC + "String_Node_Str"+ maxOutputLimit+ "String_Node_Str"+ defaultOutputLimit+ "String_Node_Str");
    }
  }
 else   throw UWSExceptionFactory.badFormat(null,TAPJob.PARAM_MAX_REC,null,value.getClass().getName(),"String_Node_Str" + TAPJob.UNLIMITED_MAX_REC + "String_Node_Str"+ maxOutputLimit+ "String_Node_Str"+ defaultOutputLimit+ "String_Node_Str");
  if (maxRec < TAPJob.UNLIMITED_MAX_REC)   maxRec=TAPJob.UNLIMITED_MAX_REC;
  if (maxOutputLimit > TAPJob.UNLIMITED_MAX_REC && maxRec > maxOutputLimit)   throw new UWSException(UWSException.BAD_REQUEST,"String_Node_Str" + maxOutputLimit + "String_Node_Str");
  return maxRec;
}

Fixed version (ground truth):
@Override public Object check(Object value) throws UWSException {
  if (value == null)   return null;
  int maxOutputLimit=getMaxOutputLimit();
  Integer defaultOutputLimit=(Integer)getDefault(), maxRec=null;
  if (value instanceof Integer)   maxRec=(Integer)value;
 else   if (value instanceof String) {
    String strValue=(String)value;
    try {
      maxRec=Integer.parseInt(strValue);
    }
 catch (    NumberFormatException nfe) {
      throw UWSExceptionFactory.badFormat(null,TAPJob.PARAM_MAX_REC,strValue,null,"String_Node_Str" + TAPJob.UNLIMITED_MAX_REC + "String_Node_Str"+ maxOutputLimit+ "String_Node_Str"+ defaultOutputLimit+ "String_Node_Str");
    }
  }
 else   throw UWSExceptionFactory.badFormat(null,TAPJob.PARAM_MAX_REC,null,value.getClass().getName(),"String_Node_Str" + TAPJob.UNLIMITED_MAX_REC + "String_Node_Str"+ maxOutputLimit+ "String_Node_Str"+ defaultOutputLimit+ "String_Node_Str");
  if (maxRec < TAPJob.UNLIMITED_MAX_REC)   maxRec=TAPJob.UNLIMITED_MAX_REC;
  if (maxRec == TAPJob.UNLIMITED_MAX_REC || maxRec > maxOutputLimit)   maxRec=maxOutputLimit;
  return maxRec;
}
Program: 25121
Project: 25121
Buggy source:
@Override public boolean match(final ADQLObject obj){
  return (obj instanceof ColumnReference);
}

Fixed version (ground truth):
@Override protected boolean match(ADQLObject obj){
  return (obj instanceof ADQLQuery);
}
Program: 25123
Project: 25123
Buggy source:
/** 
 * <p>Gets the error (if any) which has occurred during the job execution.</p> <p><i><u>Note:</u> In the case an error summary can not have been published, the job has no error summary. However the last   {@link UWSException} caught during the execution of a {@link JobThread} is saved and is available thanks to {@link JobThread#getError()}. In that case, the   {@link UWSJob#getWorkError() getWorkError()} method can be used to get back the occurred error.</i></p>
 * @return	The error which interrupts the thread or <i>null</i> if there was no error or if the job is still running.
 */
public final UWSException getWorkError(){
  return (thread == null && !thread.isAlive()) ? null : thread.getError();
}

Fixed version (ground truth):
/** 
 * <p>Gets the error (if any) which has occurred during the job execution.</p> <p><i><u>Note:</u> In the case an error summary can not have been published, the job has no error summary. However the last   {@link UWSException} caught during the execution of a {@link JobThread} is saved and is available thanks to {@link JobThread#getError()}. In that case, the   {@link UWSJob#getWorkError() getWorkError()} method can be used to get back the occurred error.</i></p>
 * @return	The error which interrupts the thread or <i>null</i> if there was no error or if the job is still running.
 */
public final UWSException getWorkError(){
  return (thread == null || !thread.isAlive()) ? null : thread.getError();
}
Program: 25124
Project: 25124
Buggy source:
public String getName(){
  return "String_Node_Str";
}

Fixed version (ground truth):
@Override public String getName(){
  return "String_Node_Str";
}
Program: 25125
Project: 25125
Buggy source:
public ADQLObject getCopy() throws Exception {
  return new RegionFunction(this);
}

Fixed version (ground truth):
@Override public ADQLObject getCopy() throws Exception {
  return new RegionFunction(this);
}
Program: 25126
Project: 25126
Buggy source:
public boolean isNumeric(){
  return false;
}

Fixed version (ground truth):
@Override public boolean isNumeric(){
  return false;
}
Program: 25127
Project: 25127
Buggy source:
@Override public ADQLOperand setParameter(int index,ADQLOperand replacer) throws ArrayIndexOutOfBoundsException, NullPointerException, Exception {
  if (index == 0) {
    if (replacer == null)     throw new NullPointerException("String_Node_Str" + getName() + "String_Node_Str");
 else     if (replacer instanceof ADQLOperand) {
      ADQLOperand replaced=parameter;
      parameter=replaced;
      return replaced;
    }
 else     throw new Exception("String_Node_Str" + replacer.getClass().getName() + "String_Node_Str"+ replacer.toADQL()+ "String_Node_Str");
  }
 else   throw new ArrayIndexOutOfBoundsException("String_Node_Str" + index + "String_Node_Str"+ getName()+ "String_Node_Str");
}

Fixed version (ground truth):
@Override public ADQLOperand setParameter(int index,ADQLOperand replacer) throws ArrayIndexOutOfBoundsException, NullPointerException, Exception {
  if (index == 0) {
    if (replacer == null)     throw new NullPointerException("String_Node_Str" + getName() + "String_Node_Str");
 else     if (replacer instanceof ADQLOperand) {
      ADQLOperand replaced=parameter;
      parameter=replacer;
      return replaced;
    }
 else     throw new Exception("String_Node_Str" + replacer.getClass().getName() + "String_Node_Str"+ replacer.toADQL()+ "String_Node_Str");
  }
 else   throw new ArrayIndexOutOfBoundsException("String_Node_Str" + index + "String_Node_Str"+ getName()+ "String_Node_Str");
}
Program: 25128
Project: 25128
Buggy source:
public boolean isString(){
  return true;
}

Fixed version (ground truth):
@Override public boolean isString(){
  return true;
}
Program: 25129
Project: 25129
Buggy source:
@Override protected vehRecord doInBackground(Object... params){
  this.vehView=(vehRecView)params[0];
  BufferedReader inBuffer=null;
  String url="String_Node_Str" + this.vehView.Param;
  vehRecord result;
  try {
    HttpClient httpClient=new DefaultHttpClient();
    HttpGet request=new HttpGet(url);
    HttpResponse httpResponse=httpClient.execute(request);
    inBuffer=new BufferedReader(new InputStreamReader(httpResponse.getEntity().getContent()));
    StringBuffer stringBuffer=new StringBuffer("String_Node_Str");
    String line="String_Node_Str";
    String newLine=System.getProperty("String_Node_Str");
    while ((line=inBuffer.readLine()) != null) {
      stringBuffer.append(line + newLine);
    }
    inBuffer.close();
    JSONObject json=new JSONObject(stringBuffer.toString());
    vehRecord vehicle=new vehRecord();
    Log.i("String_Node_Str",json.toString());
    getVehicle(json,vehicle);
    result=vehicle;
  }
 catch (  Exception e) {
    Log.i("String_Node_Str",e.getMessage());
    result=new vehRecord();
  }
 finally {
    if (inBuffer != null) {
      try {
        inBuffer.close();
      }
 catch (      IOException e) {
        e.printStackTrace();
      }
    }
  }
  return result;
}

Fixed version (ground truth):
@Override protected vehRecord doInBackground(Object... params){
  this.vehView=(vehRecView)params[0];
  if (this.vehView.Param.length() == 0) {
    vehRecord result=new vehRecord();
    result.VRM="String_Node_Str";
    return result;
  }
  BufferedReader inBuffer=null;
  String url="String_Node_Str" + this.vehView.Param;
  vehRecord result;
  try {
    HttpClient httpClient=new DefaultHttpClient();
    HttpGet request=new HttpGet(url);
    HttpResponse httpResponse=httpClient.execute(request);
    inBuffer=new BufferedReader(new InputStreamReader(httpResponse.getEntity().getContent()));
    StringBuffer stringBuffer=new StringBuffer("String_Node_Str");
    String line="String_Node_Str";
    String newLine=System.getProperty("String_Node_Str");
    while ((line=inBuffer.readLine()) != null) {
      stringBuffer.append(line + newLine);
    }
    inBuffer.close();
    JSONObject json=new JSONObject(stringBuffer.toString());
    vehRecord vehicle=new vehRecord();
    Log.i("String_Node_Str",json.toString());
    getVehicle(json,vehicle);
    result=vehicle;
  }
 catch (  Exception e) {
    Log.i("String_Node_Str",e.getMessage());
    result=new vehRecord();
  }
 finally {
    if (inBuffer != null) {
      try {
        inBuffer.close();
      }
 catch (      IOException e) {
        e.printStackTrace();
      }
    }
  }
  return result;
}
Program: 25130
Project: 25130
Buggy source:
public DateTime getMOT(){
  return MOT;
}

Fixed version (ground truth):
public DateTime getMOT(){
  if (MOT != null) {
    return MOT;
  }
 else {
    return new DateTime(1900,1,1,1,1);
  }
}
Program: 25131
Project: 25131
Buggy source:
public Boolean getInsured(){
  return Insured;
}

Fixed version (ground truth):
public Boolean getInsured(){
  if (Insured != null) {
    return Insured;
  }
 else {
    return false;
  }
}
Program: 25132
Project: 25132
Buggy source:
public DateTime getFirstReg(){
  return FirstReg;
}

Fixed version (ground truth):
public DateTime getFirstReg(){
  if (FirstReg != null) {
    return FirstReg;
  }
 else {
    return new DateTime(1900,1,1,1,1);
  }
}
Program: 25133
Project: 25133
Buggy source:
public DateTime getTax(){
  return Tax;
}

Fixed version (ground truth):
public DateTime getTax(){
  if (Tax != null) {
    return Tax;
  }
 else {
    return new DateTime(1900,1,1,1,1);
  }
}
Program: 25134
Project: 25134
Buggy source:
/** 
 * Gets the most correct UUID for the   {@link Player} in the least expensiveway possible. Note however, if there is no UUID information about the player on the server (e.g., they never played before), it will send a blocking web request to Mojang's servers
 * @since 0.1.0
 * @version 0.1.0
 * @param name The name of the {@link Player}
 * @return The {@link UUID} for that player
 */
public static UUID getUUID(String name){
  if (Bukkit.getServer().getOnlineMode()) {
    OfflinePlayer op=Bukkit.getOfflinePlayer(name);
    if (op.hasPlayedBefore() || op.isOnline()) {
      return op.getUniqueId();
    }
  }
  try {
    return UUIDFetcher.getUUIDOf(name);
  }
 catch (  IOException|ParseException|InterruptedException ex) {
    throw new IllegalArgumentException("String_Node_Str",ex);
  }
}

Fixed version (ground truth):
/** 
 * Gets the most correct UUID for the   {@link Player} in the least expensiveway possible. Note however, if there is no UUID information about the player on the server (e.g., they never played before), it will send a blocking web request to Mojang's servers
 * @since 0.1.0
 * @version 0.1.0
 * @param name The name of the {@link Player}
 * @return The {@link UUID} for that player
 */
public static UUID getUUID(String name){
  if (Bukkit.getServer().getOnlineMode()) {
    OfflinePlayer op=Bukkit.getOfflinePlayer(name);
    if (op.hasPlayedBefore() || op.isOnline()) {
      return op.getUniqueId();
    }
  }
  try {
    return UUIDFetcher.getUUIDOf(name);
  }
 catch (  IOException|ParseException|InterruptedException ex) {
    throw new IllegalArgumentException("String_Node_Str" + name + "String_Node_Str",ex);
  }
}
Program: 25135
Project: 25135
Buggy source:
/** 
 * Checks to make sure the connection is active to the MySQL server
 * @since 0.1.0
 * @version 0.1.0
 * @return true if connected, false otherwise
 */
public boolean checkConnection(){
  return this.query((rs) -> {
    return rs.first();
  }
,"String_Node_Str");
}

Fixed version (ground truth):
/** 
 * Checks to make sure the connection is active to the MySQL server
 * @since 0.1.0
 * @version 0.1.0
 * @return true if connected, false otherwise
 */
public boolean checkConnection(){
  try {
    ResultSet rs=this.prepare("String_Node_Str").executeQuery();
    return rs.first();
  }
 catch (  SQLException ex) {
    return false;
  }
}
Program: 25136
Project: 25136
Buggy source:
/** 
 * Executes a query, and applies the resulting   {@link ResultSet} to thepassed  {@link SQLConsumer}
 * @since 0.1.0
 * @version 0.1.0
 * @param oper The operation to apply to the {@link ResultSet}
 * @param sql The SQL statement to execute
 * @param params Any {@link PreparedStatement} parameters
 * @return An {@link SQLResponse} containing any required information
 */
@SuppressWarnings("String_Node_Str") default public SQLResponse query(SQLConsumer<? super ResultSet> oper,String sql,Object... params){
  SQLResponse resp=new SQLResponse();
  PreparedStatement stmt=null;
  try {
    stmt=this.prepare(sql);
    for (int i=0; i < params.length; i++) {
      stmt.setObject(i + 1,params[i]);
    }
    ResultSet rs=stmt.executeQuery();
    oper.accept(rs);
    Databases.close(rs);
  }
 catch (  SQLException ex) {
    Debugger.error(ex,"String_Node_Str",Databases.simpleErrorOutput(ex));
  }
 finally {
    Databases.close(stmt);
  }
  return resp;
}

Fixed version (ground truth):
/** 
 * Executes a query, and applies the resulting   {@link ResultSet} to thepassed  {@link SQLConsumer}
 * @since 0.1.0
 * @version 0.1.0
 * @param oper The operation to apply to the {@link ResultSet}
 * @param sql The SQL statement to execute
 * @param params Any {@link PreparedStatement} parameters
 * @return An {@link SQLResponse} containing any required information
 */
@SuppressWarnings("String_Node_Str") default public SQLResponse query(SQLConsumer<? super ResultSet> oper,String sql,Object... params){
  SQLResponse resp=new SQLResponse();
  PreparedStatement stmt=null;
  try {
    stmt=this.prepare(sql);
    for (int i=0; i < params.length; i++) {
      stmt.setObject(i + 1,params[i]);
    }
    ResultSet rs=stmt.executeQuery();
    oper.accept(rs);
    Databases.close(rs);
  }
 catch (  SQLException ex) {
    if (this.isSendingErrorOutput()) {
      Debugger.error(ex,"String_Node_Str",Databases.simpleErrorOutput(ex));
    }
  }
 finally {
    Databases.close(stmt);
  }
  return resp;
}
Program: 25138
Project: 25138
Buggy source:
/** 
 * Executes a query that can change values
 * @since 0.1.0
 * @version 0.1.0
 * @param query The string query to execute
 * @param params Any {@link PreparedStatement} parameters
 * @return 0 for no returned results, or the number of returned rows
 */
@SuppressWarnings("String_Node_Str") default public SQLResponse update(String query,Object... params){
  SQLResponse resp=new SQLResponse();
  PreparedStatement stmt=null;
  int back=0;
  try {
    stmt=this.prepare(query);
    for (int i=0; i < params.length; i++) {
      stmt.setObject(i + 1,params[i]);
    }
    back=stmt.executeUpdate();
  }
 catch (  SQLException ex) {
    Debugger.error(ex,"String_Node_Str",Databases.simpleErrorOutput(ex));
  }
 finally {
    if (stmt != null) {
      Databases.close(stmt);
    }
  }
  resp.setUpdatedRows(back);
  return resp;
}

Fixed version (ground truth):
/** 
 * Executes a query that can change values
 * @since 0.1.0
 * @version 0.1.0
 * @param query The string query to execute
 * @param params Any {@link PreparedStatement} parameters
 * @return 0 for no returned results, or the number of returned rows
 */
@SuppressWarnings("String_Node_Str") default public SQLResponse update(String query,Object... params){
  SQLResponse resp=new SQLResponse();
  PreparedStatement stmt=null;
  int back=0;
  try {
    stmt=this.prepare(query);
    for (int i=0; i < params.length; i++) {
      stmt.setObject(i + 1,params[i]);
    }
    back=stmt.executeUpdate();
  }
 catch (  SQLException ex) {
    if (this.isSendingErrorOutput()) {
      Debugger.error(ex,"String_Node_Str",Databases.simpleErrorOutput(ex));
    }
  }
 finally {
    if (stmt != null) {
      Databases.close(stmt);
    }
  }
  resp.setUpdatedRows(back);
  return resp;
}
Program: 25139
Project: 25139
Buggy source:
/** 
 * Runs a   {@link PreparedStatement} using the provided {@code sql} parameter.The following  {@link SQLFunction} will then be run using this constructedstatement. This is typically more-so for use in one-time executed statements
 * @since 0.1.0
 * @version 0.1.0
 * @param < R > The type of the return value
 * @param oper The {@link SQLFunction} operation to use
 * @param sql The SQL statement to execute
 * @param params Parameters to pass to the {@link PreparedStatement}
 * @return The returned result of the {@link SQLFunction}
 */
default public <R>SQLResponse<R> operate(SQLFunction<? super PreparedStatement,R> oper,String sql,Object... params){
  SQLResponse<R> back=new SQLResponse<>();
  PreparedStatement stmt=null;
  try {
    stmt=this.prepare(sql);
    for (int i=0; i < params.length; i++) {
      stmt.setObject(i + 1,params[i]);
    }
    back.setResponse(oper.apply(stmt));
  }
 catch (  SQLException ex) {
    Debugger.error(ex,"String_Node_Str",Databases.simpleErrorOutput(ex));
  }
 finally {
    if (stmt != null) {
      Databases.close(stmt);
    }
  }
  return back;
}

Fixed version (ground truth):
/** 
 * Runs a   {@link PreparedStatement} using the provided {@code sql} parameter.The following  {@link SQLFunction} will then be run using this constructedstatement. This is typically more-so for use in one-time executed statements
 * @since 0.1.0
 * @version 0.1.0
 * @param < R > The type of the return value
 * @param oper The {@link SQLFunction} operation to use
 * @param sql The SQL statement to execute
 * @param params Parameters to pass to the {@link PreparedStatement}
 * @return The returned result of the {@link SQLFunction}
 */
default public <R>SQLResponse<R> operate(SQLFunction<? super PreparedStatement,R> oper,String sql,Object... params){
  SQLResponse<R> back=new SQLResponse<>();
  PreparedStatement stmt=null;
  try {
    stmt=this.prepare(sql);
    for (int i=0; i < params.length; i++) {
      stmt.setObject(i + 1,params[i]);
    }
    back.setResponse(oper.apply(stmt));
  }
 catch (  SQLException ex) {
    if (this.isSendingErrorOutput()) {
      Debugger.error(ex,"String_Node_Str",Databases.simpleErrorOutput(ex));
    }
  }
 finally {
    if (stmt != null) {
      Databases.close(stmt);
    }
  }
  return back;
}
Program: 25140
Project: 25140
Buggy source:
/** 
 * Called from Bukkit to indicate an executed command <br><br>   {@inheritDoc}
 * @since 0.1.0
 * @version 0.1.0
 * @param sender {@inheritDoc}
 * @param command {@inheritDoc}
 * @param label {@inheritDoc}
 * @param args {@inheritDoc}
 * @return {@code true} if the returned {@link CommandStatus} was not a{@link CommandStatus#FAILED}
 */
@Override public final boolean onCommand(CommandSender sender,Command command,String label,String[] args){
  Exceptions.illegalPluginAccess(Reflections.accessedFromBukkit(),"String_Node_Str");
  CommandNode<? extends Plugin> child=this.getClosestChild(args);
  int start=0;
  for (int i=0; i < args.length; i++) {
    if (args[i].equalsIgnoreCase(child.getName())) {
      start=i + 1;
      break;
    }
  }
  CommandStatus stat;
  try {
    stat=this.verifyState(sender,args);
    if (stat == null) {
      stat=child.execute(sender,Arrays.copyOfRange(args,start,args.length));
    }
  }
 catch (  Throwable ex) {
    stat=CommandStatus.FAILED;
    child.plugin.getLogger().log(Level.SEVERE,String.format("String_Node_Str",label,StringUtils.join(args,"String_Node_Str")),ex);
  }
  try {
    stat.handle(sender,child.format,child);
  }
 catch (  NullPointerException ex) {
    throw new IllegalReturnException("String_Node_Str",ex);
  }
  return stat != CommandStatus.FAILED;
}

Fixed version (ground truth):
/** 
 * Called from Bukkit to indicate an executed command <br><br>   {@inheritDoc}
 * @since 0.1.0
 * @version 0.1.0
 * @param sender {@inheritDoc}
 * @param command {@inheritDoc}
 * @param label {@inheritDoc}
 * @param args {@inheritDoc}
 * @return {@code true} if the returned {@link CommandStatus} was not a{@link CommandStatus#FAILED}
 */
@Override public final boolean onCommand(CommandSender sender,Command command,String label,String[] args){
  Exceptions.illegalPluginAccess(Reflections.accessedFromBukkit(),"String_Node_Str");
  CommandNode<? extends Plugin> child=this.getClosestChild(args);
  int start=0;
  if (args.length > 0) {
    for (int i=0; i < args.length; i++) {
      if (args[i].equalsIgnoreCase(child.getName())) {
        start=i + 1;
        break;
      }
    }
    args=Arrays.copyOfRange(args,start,args.length);
  }
  CommandStatus stat;
  try {
    stat=this.verifyState(child,sender,args);
    if (stat == null) {
      stat=child.execute(sender,args);
    }
  }
 catch (  Throwable ex) {
    stat=CommandStatus.FAILED;
    child.plugin.getLogger().log(Level.SEVERE,String.format("String_Node_Str",label,StringUtils.join(args,"String_Node_Str")),ex);
  }
  try {
    stat.handle(sender,child.format,child);
  }
 catch (  NullPointerException ex) {
    throw new IllegalReturnException("String_Node_Str",ex);
  }
  return stat != CommandStatus.FAILED;
}