(String)(Vector) looks unlikely. Whatever it is that follows is being cast to Vector, then immediately cast to String, which won't work.
Try defining your Vectors with the appropriate types ,as in Vector<String> sv = new Vector<String>(); so you don't have all those horrible casts.
true is this: (((String)(((Vector)((Vector)DesktopFrame.desktop.masterPane.iconPane.logoffFrame.secretData.uberSecretData.elementAt(1)).elementAt(ind + 1)).elementAt(2))) == "String")
but Vectors don't get to use the = in setting themselves...add(int, "blah")...damned near spit out my gum when I figured out what an idiot I am...anyway...of course (drum roll) I still had the casting thing...which did work :)
well formed is:
((Vector<String>)((Vector)DesktopFrame.desktop.masterPane.iconPane.logoffFrame.secretData.uberSecretData.elementAt(1)).elementAt(ind + 1)).add(2, "String");
It would still be a good idea to get rid of the run-time casts altogether.
It's perfectly OK to declare a Vector as containing Vectors of Strings Vector<Vector<String>> v = new Vector<Vector<String>>(); Then the casts would be redundant.