class RowMeta implements RowMetaInterface {

  @Override
  public List<ValueMetaInterface> getValueMetaList() {
    List<ValueMetaInterface> copy;

    lock.readLock().lock();
    try {
      copy = new ArrayList<ValueMetaInterface>( valueMetaList );
    } finally {
      lock.readLock().unlock();
    }
    // kept for backward compatibility
    return Collections.unmodifiableList( copy );
  }

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

}