public void doTransformations() {
		if (GlobalOptions.verboseLevel > 0)
			GlobalOptions.err.println("Transforming " + this);
		info.setName(getFullAlias());
		transformSuperIfaces();
		transformInnerClasses();

		Collection newFields = new ArrayList(fieldIdents.size());
		Collection newMethods = new ArrayList(methodIdents.size());

		for (Iterator i = fieldIdents.iterator(); i.hasNext();) {
			FieldIdentifier ident = (FieldIdentifier) i.next();
			if ((Main.stripping & Main.STRIP_UNREACH) == 0
					|| ident.isReachable()) {
				ident.doTransformations();
				newFields.add(ident.info);
			}
		}
		for (Iterator i = methodIdents.iterator(); i.hasNext();) {
			MethodIdentifier ident = (MethodIdentifier) i.next();
			if ((Main.stripping & Main.STRIP_UNREACH) == 0
					|| ident.isReachable()) {
				ident.doTransformations();
				newMethods.add(ident.info);
			}
		}

		info.setFields((FieldInfo[]) newFields.toArray(new FieldInfo[newFields
				.size()]));
		info.setMethods((MethodInfo[]) newMethods
				.toArray(new MethodInfo[newMethods.size()]));
	}