_connection = connection;
_tableRef = new LazyRef<List<Table>>() {
@Override
protected List<Table> fetch() {
final List<Table> result = new ArrayList<Table>();
final DescribeGlobalResult describeGlobal;
try {
describeGlobal = _connection.describeGlobal();
} catch (ConnectionException e) {
throw SalesforceUtils.wrapException(e, "Failed to invoke describeGlobal service");
}
for (final DescribeGlobalSObjectResult sobject : describeGlobal.getSobjects()) {
if (sobject.isQueryable() && sobject.isUpdateable()) {
final String tableName = sobject.getName();
final String tableLabel = sobject.getLabel();
final Table table = new SalesforceTable(tableName, tableLabel, SalesforceSchema.this,