class ConfigureDelegator extends BaseDelegator implements IConfigureDelegator {

    @Override
    public List<ServerConfigurationValue> showServerConfiguration(final String serverName,
                                                                  final String variableName) throws P4JavaException {
        String[] args = new String[]{SHOW_CMD};
        // Only one of serverName or variableName should be set:
        if (isNotBlank(serverName)) {
            args = new String[]{SHOW_CMD, serverName};
        } else if (isNotBlank(variableName)) {
            args = new String[]{SHOW_CMD, variableName};
        }

        List<Map<String, Object>> resultMaps = execMapCmdList(CONFIGURE, args, null);

        return ResultListBuilder.buildNonNullObjectListFromCommandResultMaps(resultMaps,
                // p4ic4idea: better generics
                new Function<Map<String, Object>, ServerConfigurationValue>() {
                    @Override
                    // p4ic4idea: better generics
                    public ServerConfigurationValue apply(Map<String, Object> map) {
                        return new ServerConfigurationValue(map);
                    }
                });
    }

    public  ConfigureDelegator(final IOptionsServer server);

}