public MethodInfo addNewMethod(final int modifiers, final int typeIndex,
			final int nameIndex, final int exceptionIndex,
			final int[] exceptionTypeIndices, final int codeIndex) {
		final Exceptions exceptions = new Exceptions(this, exceptionIndex,
				exceptionTypeIndices);
		final Code code = new Code(this, codeIndex); // code can't be null
		final Attribute[] attributes = new Attribute[] { exceptions, code };

		final Method method = new Method(this, modifiers, nameIndex, typeIndex,
				attributes, code, exceptions);

		// Add the new method to the list of method
		final Method[] methods = new Method[this.methods.length + 1];
		for (int i = 0; i < this.methods.length; i++) {
			methods[i] = this.methods[i];
		}
		methods[this.methods.length] = method;
		this.methods = methods;

		return (method);
	}