code: public List<Column> getInsertColumnList() {
  		List<Column> result = new ArrayList<>();
  		List<Column> tempColumnList = new ArrayList<>();
  
  		for (Column currentColumn:this.columns) {
  			if (currentColumn.referenceTable != null) {
  				tempColumnList = currentColumn.referenceTable.getFindColumnList();
  				for (Column tempColumn : tempColumnList) {
  					Column column = new Column();
  					column.name = currentColumn.name.replace("_ID", "_").replace("_id", "_") + tempColumn.name;
  					column.dataType = tempColumn.dataType;
  					column.nullable = currentColumn.nullable;
  					result.add(column);
  				}
  			} else {
  				Column column = new Column();
  				column.name = currentColumn.name;
  				column.dataType = currentColumn.dataType;
  				column.nullable = currentColumn.nullable;
  				result.add(column);
  			}
  		}
  
  		return result;
  
  	}
docs: get the list of arguments used in insert by code stored procedure
  
  @return