final Launcher launcher) {
final Map<String, AccurevStream> streams = new HashMap<String, AccurevStream>();
String streamName = nameOfStreamRequired;
while (streamName != null && !streamName.isEmpty()) {
final Map<String, AccurevStream> oneStream = getOneStream(scm, streamName, server, accurevEnv, workspace, listener, accurevPath, launcher);
final AccurevStream theStream = oneStream == null ? null : oneStream.get(streamName);
streamName = null;
if (theStream != null) {
if (theStream.getBasisName() != null) {
streamName = theStream.getBasisName();
} else if (theStream.getBasisNumber() != null) {
streamName = theStream.getBasisNumber().toString();
}
streams.putAll(oneStream);
}
}
return streams;