@Override
	protected void cacheMetadata(ActivityMetadata metadata) {
		if (this.Try != null)
			metadata.addChild(this.Try);
		if (this.Finally != null)
			metadata.addChild(this.Finally);
		if (this.catches != null)
			for (Catch c : this.catches)
				if (c.getAction() != null)
					metadata.addChild(c.getAction());

		metadata.addImplementationVariable(this.state);
		if (this.variables != null)
			metadata.setRuntimeVariables(this.variables);
	}