Source:
<code>protected List<ExternalTupleSet> getIndices() throws PcjIndexSetException { <START> requireNonNull(conf); <END> try { final StatefulMongoDBRdfConfiguration mongoConf = (StatefulMongoDBRdfConfiguration) conf; final MongoClient client = mongoConf.getMongoClient(); final MongoPcjDocuments pcjDocs = new MongoPcjDocuments(client, mongoConf.getRyaInstanceName()); List<String> tables = null; tables = mongoConf.getPcjTables(); final Map<String, String> indexTables = Maps.newLinkedHashMap(); try(final PrecomputedJoinStorage storage = new MongoPcjStorage(client, mongoConf.getRyaInstanceName())) { final boolean tablesProvided = tables != null && !tables.isEmpty(); if (tablesProvided) { for (final String table : tables) { indexTables.put(table, storage.getPcjMetadata(table).getSparql()); } } else if (hasRyaDetails()) { final List<String> ids = storage.listPcjs(); for (final String id : ids) { indexTables.put(id, storage.getPcjMetadata(id).getSparql()); } } else { tables = pcjDocs.listPcjDocuments(); for (final String table : tables) { if (table.startsWith("INDEX")) { indexTables.put(table, pcjDocs.getPcjMetadata(table).getSparql()); } } } } final List<ExternalTupleSet> index = Lists.newArrayList(); if (indexTables.isEmpty()) { log.info("No Index found"); } else { for (final String table : indexTables.keySet()) { final String indexSparqlString = indexTables.get(table); index.add(new MongoPcjQueryNode(indexSparqlString, table, pcjDocs)); } } return index; } catch (final PCJStorageException | MalformedQueryException e) { throw new PcjIndexSetException("Failed to get indicies for this PCJ index.", e); } }</code><technical_language>Do supers check if this is null</technical_language>

Target:
protected List<ExternalTupleSet> getIndices() throws PcjIndexSetException { try { final StatefulMongoDBRdfConfiguration mongoConf = (StatefulMongoDBRdfConfiguration) conf; final MongoClient client = mongoConf.getMongoClient(); final MongoPcjDocuments pcjDocs = new MongoPcjDocuments(client, mongoConf.getRyaInstanceName()); List<String> documents = null; documents = mongoConf.getPcjTables(); final Map<String, String> indexDocuments = Maps.newLinkedHashMap(); try(final PrecomputedJoinStorage storage = new MongoPcjStorage(client, mongoConf.getRyaInstanceName())) { final boolean docsProvided = documents != null && !documents.isEmpty(); if (docsProvided) { for (final String doc : documents) { indexDocuments.put(doc, storage.getPcjMetadata(doc).getSparql()); } } else if (hasRyaDetails()) { final List<String> ids = storage.listPcjs(); for (final String pcjId : ids) { indexDocuments.put(pcjId, storage.getPcjMetadata(pcjId).getSparql()); } } else { documents = pcjDocs.listPcjDocuments(); for (final String pcjId : documents) { if (pcjId.startsWith("INDEX")) { indexDocuments.put(pcjId, pcjDocs.getPcjMetadata(pcjId).getSparql()); } } } } final List<ExternalTupleSet> index = Lists.newArrayList(); if (indexDocuments.isEmpty()) { log.info("No Index found"); } else { for (final String pcjID : indexDocuments.keySet()) { final String indexSparqlString = indexDocuments.get(pcjID); index.add(new MongoPcjQueryNode(indexSparqlString, pcjID, pcjDocs)); } } return index; } catch (final PCJStorageException | MalformedQueryException e) { throw new PcjIndexSetException("Failed to get indicies for this PCJ index.", e); } }