public Object[] parseParameters(String parameterString) {
        boolean isQuoteEnclosed = false;
        int bracketLevel = 0;

        List<Object> parameters = new ArrayList();

        int index = 0;
        String currentParameter = new String();

        while (index < parameterString.length()) {
            char currentChar = parameterString.charAt(index);
//            // System.out.println(currentChar);
            if (currentChar == '\"') {
                isQuoteEnclosed = !isQuoteEnclosed;
                currentParameter += currentChar;

            } else if (currentChar == '(' && !isQuoteEnclosed) {
                bracketLevel++;

                currentParameter += currentChar;
            } else if (currentChar == ')' && !isQuoteEnclosed) {
                bracketLevel--;
                currentParameter += currentChar;
            } else if (currentChar == ',' && !isQuoteEnclosed && bracketLevel == 0) {
                //New Parameter
                // System.out.println("Adding the parameter!");
                parameters.add(currentParameter.trim());
                currentParameter = new String();
            } else {
                currentParameter += currentChar;
            }
//            // System.out.println("currentParameter = " + currentParameter);
//            // System.out.println("isQuoteEnclosed = " + isQuoteEnclosed);
//            // System.out.println("bracketLevel = " + bracketLevel);

            index++;
        }

        parameters.add(currentParameter.trim());

        Object[] parameterArray = new Object[parameters.size()];
        parameterArray = parameters.toArray(parameterArray);

        return parameterArray;
    }