'Create a `Table` instance from a given `astropy.table.Table`
instance.'

@classmethod
def from_table(cls, votable, table):

    kwargs = {}
    for key in [u'ID', u'name', u'ref', u'ucd', u'utype']:
        val = table.meta.get(key)
        if (val is not None):
            kwargs[key] = val
    new_table = cls(votable, **kwargs)
    if (u'description' in table.meta):
        new_table.description = table.meta[u'description']
    for colname in table.colnames:
        column = table[colname]
        new_table.fields.append(Field.from_table_column(votable, column))
    if (table.mask is None):
        new_table.array = ma.array(np.asarray(table))
    else:
        new_table.array = ma.array(np.asarray(table), mask=np.asarray(table.mask))
    return new_table
