default: state = SEEN_NOTHING;
case SEEN_ANEWARRAY: if ((seen == INVOKEVIRTUAL) && (getNameConstantOperand().equals("toArray")) && (getSigConstantOperand().equals("([Ljava/lang/Object;)[Ljava/lang/Object;"))) { try { String clsName = getClassConstantOperand(); JavaClass cls = Repository.lookupClass(clsName); if (cls.implementationOf(collectionClass)) bugReporter.reportBug(new BugInstance("ITA_INEFFICIENT_TO_ARRAY", LOW_PRIORITY) .addClassAndMethod(this) .addSourceLine(this));  } catch (ClassNotFoundException cnfe) { bugReporter.reportMissingClass(cnfe); } } state = SEEN_NOTHING; break;  default: state = SEEN_NOTHING;
	public void sawOpcode(int seen) {		if (collectionClass == null)			return;		if (DEBUG) System.out.println("State: " + state + "  Opcode: " + OPCODE_NAMES[seen]);		switch (state) {			case SEEN_NOTHING:				if (seen == ICONST_0)					state = SEEN_ICONST_0;			break;			case SEEN_ICONST_0:				if (seen == ANEWARRAY) {					state = SEEN_ANEWARRAY;				} else					state = SEEN_NOTHING;			break;			case SEEN_ANEWARRAY:				if ((seen == INVOKEVIRTUAL)				&&  (getNameConstantOperand().equals("toArray"))				&&  (getSigConstantOperand().equals("([Ljava/lang/Object;)[Ljava/lang/Object;"))) {					try {						String clsName = getClassConstantOperand();						JavaClass cls = Repository.lookupClass(clsName);						if (cls.implementationOf(collectionClass))							bugReporter.reportBug(new BugInstance("ITA_INEFFICIENT_TO_ARRAY", LOW_PRIORITY)												.addClassAndMethod(this)												.addSourceLine(this));					}					catch (ClassNotFoundException cnfe) {						bugReporter.reportMissingClass(cnfe);					}				}				state = SEEN_NOTHING;			break;			default:				state = SEEN_NOTHING;			break;		}	}