/**
   * Method to print arguments for debug purpose
   *
   * @param commandObject
   */
  public void printArgs(Command commandObject) {
    try {
      StringBuilder logMessage = new StringBuilder();
      logMessage.append(NEWLINE).append("{");
      for (Object obj : commandObject.retreiveArguments()) {
        if (null == obj) {
          logMessage.append("NULL").append(SEMICOLON);
        } else {
          if (obj instanceof CIMArgument<?>[]) {
            logMessage.append("Input CIMArgument Array : {");
            CIMArgument<?>[] outputArguments = (CIMArgument<?>[]) obj;
            for (CIMArgument<?> outArg : outputArguments) {
              if (null != outArg) {
                logMessage.append(TAB);
                logMessage
                    .append("Name:")
                    .append(null == outArg.getName() ? "unknown" : outArg.getName())
                    .append(SEMICOLON);
                logMessage
                    .append("DataType:")
                    .append(null == outArg.getDataType() ? "unknown" : outArg.getDataType())
                    .append(SEMICOLON);
                logMessage
                    .append("Value :")
                    .append(null == outArg.getValue() ? "unknown" : outArg.getValue())
                    .append(SEMICOLON);
              } else {
                logMessage.append("NULL").append(SEMICOLON);
              }
            }
            logMessage.append("}").append(SEMICOLON).append(NEWLINE);
          } else if (obj instanceof CIMProperty<?>[]) {
            logMessage.append(NEWLINE).append("Input CIMProperty Array : {");

            CIMProperty<?>[] args = (CIMProperty<?>[]) obj;
            for (CIMProperty<?> p : args) {
              if (null != p) {
                logMessage
                    .append("Name:")
                    .append(null == p.getName() ? "unknown" : p.getName())
                    .append(SEMICOLON);
                logMessage
                    .append("DataType:")
                    .append(null == p.getDataType() ? "unknown" : p.getDataType())
                    .append(SEMICOLON);
                logMessage
                    .append("Value :")
                    .append(null == p.getValue() ? "unknown" : p.getValue())
                    .append(SEMICOLON);
              }
            }
            logMessage.append("}").append(SEMICOLON).append(NEWLINE);
          } else if (obj instanceof String[]) {
            logMessage.append(Arrays.toString((String[]) obj)).append(SEMICOLON);
          } else {
            logMessage.append(obj.toString()).append(SEMICOLON);
          }
        }
      }
      logMessage.append("}");
      _LOGGER.debug(logMessage.toString());

    } catch (Exception e) {
      _LOGGER.debug("Logging operations failed", e);
    }
  }