code: @Override
  	public <T extends Statement> T resolveStatement(String statementName, Class<T> type) {
  		if (statementName == null) {
  			throw new NullPointerException("The fact name must not be null.");
  		}
  		Map<String, Statement> statementMap = statements.get(type);
  		if (!statementMap.containsKey(statementName)) {
  			throw new UnknownStatementException(String.format("Could not find a statement with the name %s.", statementName));
  		}
  		return type.cast(statementMap.get(statementName));
  	}
docs: {@inheritDoc}