public CompositeConcreteFlyweight factory(String data) {
		int len = data.length();
		CompositeConcreteFlyweight ccfw = new CompositeConcreteFlyweight();
		for (int i = 0; i < len; i++) {
			ccfw.add(String.valueOf(data.charAt(i)), this.innerFactory(String.valueOf(data.charAt(i))));
		}
		return ccfw;
	}