_data = data;
}
public int compareTo(Object o, SortNodeRecord[] nodes) throws JodbIOException {
if(o == null || !(o instanceof SortingDataContainer)){
throw new JodbIOException("illegal opeation state");
}
SortingDataContainer otherObject = (SortingDataContainer) o;
if( otherObject._data.length != _data.length ){
throw new JodbIOException("illegal opeation state");
}
for (int i = 0; i < _data.length; i++) {
Object compObj = _data[i];
Object otherCompObject = otherObject._data[i];
if(compObj == null || otherCompObject == null || compObj.getClass() != otherCompObject.getClass()){
throw new JodbIOException("illegal opeation state");
}
if(!( compObj instanceof Comparable )){
throw new JodbIOException("illegal opeation state");
}
int result = ((Comparable)compObj).compareTo(otherCompObject);
if(result!=0){
if(!nodes[i].isOrderAscending()){
result*=-1;