public PartialCode getPartToComplete(String line) {
		if (line.length() == 0)
			return new PartialCode("", false, false);
		int idx2 = line.lastIndexOf(",");
		if (idx2 >= 0)
			line = line.substring(idx2 + 1);
		int idx3 = line.lastIndexOf("=");
		if (idx3 >= 0)
			line = line.substring(idx3 + 1);
		int idx4 = line.lastIndexOf("<");
		if (idx4 >= 0)
			line = line.substring(idx4 + 1);
		int idx5 = line.lastIndexOf(">");
		if (idx5 >= 0)
			line = line.substring(idx5 + 1);
		int idx6 = line.lastIndexOf(";");
		if (idx6 >= 0)
			line = line.substring(idx6 + 1);
		//
		line = removePadding(line.trim(), " ");
		line = removeCorresponding(line, "(", ")");
		boolean hasArrayBrackets = (line.indexOf('[') >= 0) && (line.indexOf(']') >= 0);
		line = removeCorresponding(line, "[", "]");
		//
		String[] words = Tool.cut(line, " ");
		if (words.length == 0)
			return new PartialCode("", false, false);
		boolean isNewInstance = ((words.length > 1) && (words[words.length - 2].equals("new")));
		//
		return new PartialCode(words[words.length - 1], isNewInstance, hasArrayBrackets);
		//
	}