public static ToolsRunner getRunnerTool(String actionName) {

        Preconditions.checkNotNull(actionName, "No Action is set. Please see usage:\n" + getUsageStr());
        Preconditions.checkArgument(
                actionName.equals("sar") || actionName.equals("jobserver") || actionName.equals("schemaserver") || actionName.equals("metadataserver") || actionName.equals("property"),
                "app:{jobserver/schemaserver/metadataserver/sar/property}");
        if ("sar".equals(actionName)) {
            return new ResultProcessRunner();
        } else if ("jobserver".equals(actionName)) {
            return new JobServerRunner();
        } else if ("metadataserver".equals(actionName)) {
            return new MetaDataServerRunner();
        } else if ("schemaserver".equals(actionName)) {
            return new SchemaServerRunner();
        } else if ("property".equals(actionName)) {
            return new PropertiesRunner();
        }
        return null;
    }