public StringBuffer print(int indent, StringBuffer output) {

		if (currentPackage != null) {
			printIndent(indent, output).append("package "); //$NON-NLS-1$
			currentPackage.print(0, output, false).append(";\n"); //$NON-NLS-1$
		}
		if (imports != null)
			for (int i = 0; i < imports.length; i++) {
				if (imports[i].isInternal())
					continue;
				printIndent(indent, output).append("import "); //$NON-NLS-1$
				ImportReference currentImport = imports[i];
				currentImport.print(0, output).append(";\n"); //$NON-NLS-1$
			}

		if (types != null) {
			for (int i = 0; i < types.length; i++) {
				types[i].print(indent, output).append("\n"); //$NON-NLS-1$
			}
		}
		if (statements != null) {
			for (int i = 0; i < statements.length; i++) {
				statements[i].printStatement(indent, output).append("\n"); //$NON-NLS-1$
			}
		}
		return output;
	}