private void cppPrintType(Class<?> ret, boolean inputArg) throws ClassNotFoundException
    {
    	if (inputArg)
    	{
        	if (ret.getCanonicalName().equals("java.lang.String"))
        	{
        		out.printf("const std::string & ");
        	}
    		else if (ret.isArray())
    		{
    			out.printf("const std::vector<%s> & ", cppArrayType(true, ret.getName()));
    		}
    		else if (ret.getCanonicalName().contains("."))
    		{
    			cppIsTypeIncluded(ret.getCanonicalName());
    			out.printf("%s & ", ret.getCanonicalName().replace('.', '_'));
    		}
    		else
    		{
    			out.printf("%s ", javaToCppTypes.get(ret.getCanonicalName()));
    		}
    	}
    	else
    	{
    		if (ret.getCanonicalName().equals("java.lang.String"))
    		{
    			out.printf("std::string ");
    		}
    		else if (ret.isArray())
    		{
    			out.printf("std::vector<%s> ", cppArrayType(true, ret.getName()));
    		}
    		else if (ret.getCanonicalName().contains("."))
    		{
    			cppIsTypeIncluded(ret.getCanonicalName());
    			out.printf("%s ", ret.getCanonicalName().replace('.', '_'));
    		}
    		else
    		{
    			out.printf("%s ", javaToCppTypes.get(ret.getCanonicalName()));
    		}
    	}
    }