Source:
<code>@Override public Collection<TableInformation> tablesInformation(String schemaNamePtrn, String tblNamePtrn, String... tblTypes) { Set<String> types = F.isEmpty(tblTypes) ? Collections.emptySet() : new HashSet<>(Arrays.asList(tblTypes)); Collection<TableInformation> infos = new ArrayList<>(); <START> if (F.isEmpty(tblTypes) || types.contains(TableType.TABLE.name())) { <END> schemaMgr.dataTables().stream() .filter(t -> matches(t.getSchema().getName(), schemaNamePtrn)) .filter(t -> matches(t.getName(), tblNamePtrn)) .map(t -> { int cacheGrpId = t.cacheInfo().groupId(); CacheGroupDescriptor cacheGrpDesc = ctx.cache().cacheGroupDescriptors().get(cacheGrpId); if (cacheGrpDesc == null) return null; GridQueryTypeDescriptor type = t.rowDescriptor().type(); IndexColumn affCol = t.getExplicitAffinityKeyColumn(); String affinityKeyCol = affCol != null ? affCol.columnName : null; return new TableInformation(t.getSchema().getName(), t.getName(), TableType.TABLE.name(), cacheGrpId, cacheGrpDesc.cacheOrGroupName(), t.cacheId(), t.cacheName(), affinityKeyCol, type.keyFieldAlias(), type.valueFieldAlias(), type.keyTypeName(), type.valueTypeName()); }) .filter(Objects::nonNull) .forEach(infos::add); } if ((F.isEmpty(tblTypes) || types.contains(TableType.VIEW.name())) && matches(QueryUtils.SCHEMA_SYS, schemaNamePtrn)) { schemaMgr.systemViews().stream() .filter(t -> matches(t.getTableName(), tblNamePtrn)) .map(v -> new TableInformation(QueryUtils.SCHEMA_SYS, v.getTableName(), TableType.VIEW.name())) .forEach(infos::add); } return infos; }</code><technical_language>I suggest introduce boolean allTypes variable instead of F.isEmpty(tblTypes) explicitly</technical_language>

Target:
@Override public Collection<TableInformation> tablesInformation(String schemaNamePtrn, String tblNamePtrn, String... tblTypes) { Set<String> types = F.isEmpty(tblTypes) ? Collections.emptySet() : new HashSet<>(Arrays.asList(tblTypes)); Collection<TableInformation> infos = new ArrayList<>(); boolean allTypes = F.isEmpty(tblTypes); if (allTypes || types.contains(TableType.TABLE.name())) { schemaMgr.dataTables().stream() .filter(t -> matches(t.getSchema().getName(), schemaNamePtrn)) .filter(t -> matches(t.getName(), tblNamePtrn)) .map(t -> { int cacheGrpId = t.cacheInfo().groupId(); CacheGroupDescriptor cacheGrpDesc = ctx.cache().cacheGroupDescriptors().get(cacheGrpId); if (cacheGrpDesc == null) return null; GridQueryTypeDescriptor type = t.rowDescriptor().type(); IndexColumn affCol = t.getExplicitAffinityKeyColumn(); String affinityKeyCol = affCol != null ? affCol.columnName : null; return new TableInformation(t.getSchema().getName(), t.getName(), TableType.TABLE.name(), cacheGrpId, cacheGrpDesc.cacheOrGroupName(), t.cacheId(), t.cacheName(), affinityKeyCol, type.keyFieldAlias(), type.valueFieldAlias(), type.keyTypeName(), type.valueTypeName()); }) .filter(Objects::nonNull) .forEach(infos::add); } if ((allTypes || types.contains(TableType.VIEW.name())) && matches(QueryUtils.SCHEMA_SYS, schemaNamePtrn)) { schemaMgr.systemViews().stream() .filter(t -> matches(t.getTableName(), tblNamePtrn)) .map(v -> new TableInformation(QueryUtils.SCHEMA_SYS, v.getTableName(), TableType.VIEW.name())) .forEach(infos::add); } return infos; }