code: @SuppressWarnings("unchecked")
  	protected <E> GloboDnsRoot<E> parse(String responseAsString, Type type) throws GloboDnsException {
  		try {			
  			GloboDnsRoot<E> globoDnsRoot = new GloboDnsRoot<E>();
  			
  			if ("".equalsIgnoreCase(responseAsString)) {
  				// Empty response, just return empty object
  				return globoDnsRoot;
  			}
  			
  			boolean isList = false;
  			if (responseAsString.startsWith("[") && responseAsString.endsWith("]")) {
  				// This means it's a list
  				isList = true;
  			}
  			
  			Reader in = new StringReader(responseAsString);
  		
  			if (isList) {
  				List<E> retList = (List<E>) parser.parseAndClose(in, type);
  				globoDnsRoot.setObjectList(retList);
  			} else {
  				E retObj = (E) parser.parseAndClose(in, type);
  				globoDnsRoot.getObjectList().add(retObj);
  			}
  			
  			return globoDnsRoot;
  
  		} catch (IOException e) {
  			throw new GloboDnsParseException("IOError Parse: " + e.getMessage(), e);
  		}
  	}
docs: /*
  Convert an HttpResponse object to GloboDnsRoot of <b>E</b> object.
  @throws GloboDnsException