class StreamsDelegator extends BaseDelegator implements IStreamsDelegator {

    @Override
    public List<IStreamSummary> getStreams(
            final List<String> streamPaths,
            final GetStreamsOptions opts) throws P4JavaException {

        String[] args = {};
        if (nonNull(streamPaths)) {
            args = streamPaths.toArray(new String[streamPaths.size()]);
        }

        List<IStreamSummary> streamList = new ArrayList<>();

        List<Map<String, Object>> resultMaps = execMapCmdList(
                STREAMS,
                processParameters(opts, null, args, server),
                null);

        if (nonNull(resultMaps)) {
            for (Map<String, Object> streamMap : resultMaps) {
                // p4ic4idea: use IServerMessage
                IServerMessage errStr = handleFileErrorStr(streamMap);
                if (nonNull(errStr)) {
                    Log.error(errStr.toString());
                } else {
                    streamList.add(new StreamSummary(streamMap, true));
                }
            }
        }

        return streamList;
    }

    public  StreamsDelegator(IOptionsServer server);

}