} catch (ClassNotFoundException e) { throw new InvalidBytecodeException("analysis error: " + e.getMessage());
	private boolean handleToArray(InvokeInstruction obj) {		try {		TypeFrame frame = getFrame();		if (obj.getName(getCPG()).equals("toArray")) {			ReferenceType target = obj.getReferenceType(getCPG());			String signature = obj.getSignature(getCPG());			if (signature.equals("([Ljava/lang/Object;)[Ljava/lang/Object;")) {								boolean topIsExact = frame.isExact(frame.getStackLocation(0));				Type resultType = frame.popValue();				frame.popValue();				frame.pushValue(resultType);				frame.setExact(frame.getStackLocation(0), topIsExact);				return true;			} else if (signature.equals("()[Ljava/lang/Object;")) {				consumeStack(obj);				pushReturnType(obj);				frame.setExact(frame.getStackLocation(0), true);				return true;			}		}		return false;		} catch (DataflowAnalysisException e) {					throw new InvalidBytecodeException("analysis error: " + e.getMessage());		}	}