@Override protected void forceInsertAttributeAt(int position){
  int index=locateIndex(position);
  m_NumAttributes++;
  if ((index >= 0) && (m_Indices[index] == position)) {
    int[] tempIndices=new int[m_Indices.length + 1];
    double[] tempValues=new double[m_AttValues.length + 1];
    System.arraycopy(m_Indices,0,tempIndices,0,index);
    System.arraycopy(m_AttValues,0,tempValues,0,index);
    tempIndices[index]=position;
    tempValues[index]=Utils.missingValue();
    for (int i=index; i < m_Indices.length; i++) {
      tempIndices[i + 1]=m_Indices[i] + 1;
      tempValues[i + 1]=m_AttValues[i];
    }
    m_Indices=tempIndices;
    m_AttValues=tempValues;
  }
 else {
    int[] tempIndices=new int[m_Indices.length + 1];
    double[] tempValues=new double[m_AttValues.length + 1];
    System.arraycopy(m_Indices,0,tempIndices,0,index + 1);
    System.arraycopy(m_AttValues,0,tempValues,0,index + 1);
    tempIndices[index + 1]=position;
    tempValues[index + 1]=Utils.missingValue();
    for (int i=index + 1; i < m_Indices.length; i++) {
      tempIndices[i + 1]=m_Indices[i] + 1;
      tempValues[i + 1]=m_AttValues[i];
    }
    m_Indices=tempIndices;
    m_AttValues=tempValues;
  }
}

@ Override protected void forceInsertAttributeAt ( int position ) { int index = locateIndex ( position ) ; m_NumAttributes ++ ; if ( ( index >= 0 ) && ( m_Indices [ index ] == position ) ) { int [ ] tempIndices = new int [ m_Indices . length + 1 ] ; double [ ] tempValues = new double [ m_AttValues . length + 1 ] ; System . arraycopy ( m_Indices , 0 , tempIndices , 0 , index ) ; System . arraycopy ( m_AttValues , 0 , tempValues , 0 , index ) ; tempIndices [ index ] = position ; tempValues [ index ] = Utils . missingValue ( ) ; for ( int i = index ; i < m_Indices . length ; i ++ ) { tempIndices [ i + 1 ] = m_Indices [ i ] + 1 ; tempValues [ i + 1 ] = m_AttValues [ i ] ; } m_Indices = tempIndices ; m_AttValues = tempValues ; } else { int [ ] tempIndices = new int [ m_Indices . length + 1 ] ; double [ ] tempValues = new double [ m_AttValues . length + 1 ] ; System . arraycopy ( m_Indices , 0 , tempIndices , 0 , index + 1 ) ; System . arraycopy ( m_AttValues , 0 , tempValues , 0 , index + 1 ) ; tempIndices [ index + 1 ] = position ; tempValues [ index + 1 ] = Utils . missingValue ( ) ; for ( int i = index + 1 ; i < m_Indices . length ; i ++ ) { tempIndices [ i + 1 ] = m_Indices [ i ] + 1 ; tempValues [ i + 1 ] = m_AttValues [ i ] ; } m_Indices = tempIndices ; m_AttValues = tempValues ; } }
inserts an attribute at the given position ( 0 to numattributes ( ) ) and sets its value to be missing .
