ColumnStore implements ColumnIterable { public Column getColumnByIndex(final int index) { lock(); try { if (index < 0 || index >= columns.length) { throw new IllegalArgumentException("The column doesnt exist"); } ColumnImpl a = columns[index]; if (a == null) { throw new IllegalArgumentException("The column doesnt exist"); } return a; } finally { unlock(); } } ColumnStore(Class<T> elementType, boolean indexed);  ColumnStore(GraphStore graphStore, Class<T> elementType, boolean indexed); void addColumn(final Column column); void removeColumn(final Column column); void removeColumn(final String key); int getColumnIndex(final String key); Column getColumnByIndex(final int index); Column getColumn(final String key); boolean hasColumn(String key); @Override Iterator<Column> iterator(); @Override ColumnImpl[] toArray(); @Override List<Column> toList(); @Override void doBreak(); Set<String> getColumnKeys(); void clear(); int size(); boolean deepEquals(ColumnStore<T> obj); int deepHashCode();  }
@Test(expectedExceptions = IllegalArgumentException.class) public void testGetColumnByIndexUnknown() { ColumnStore<Node> store = new ColumnStore(Node.class, false); store.getColumnByIndex(10); }