class RowMeta implements IRowMeta {

  @Override
  public String[] getFieldNames() {
    lock.readLock().lock();
    try {
      String[] retval = new String[ size() ];

      for ( int i = 0; i < size(); i++ ) {
        String valueName = getValueMeta( i ).getName();
        retval[ i ] = valueName == null ? "" : valueName;
      }

      return retval;
    } finally {
      lock.readLock().unlock();
    }
  }

  public  RowMeta();
  private  RowMeta( RowMeta rowMeta, Integer targetType );
  private  RowMeta( List<IValueMeta> valueMetaList, RowMetaCache rowMetaCache );
  public  RowMeta( DataInputStream inputStream );
  public  RowMeta( Node node );

}