code: @SuppressWarnings({"unchecked", "rawtypes"})
      @Override
      public void prepare(Map stormConf, TopologyContext context, OutputCollector collector)
      {
          Map targetConfig = stormConf;
          // prepareメソッドで渡されるConfig、及び内部のMapはClojureが生成するMapのためイミュータブルなMapとなっている。
          // そのため、新たなMapを生成し、コピーして使用している。
          Map<String, Object> baseConfig = (Map<String, Object>) targetConfig.get(this.clientConfigKey);
          // Cassandraのタイムアウト値が設定されている場合はCassandraの接続設定を生成し、親クラスに渡す。
          if (baseConfig.containsKey("cassandra.connection.timeout") == true)
          {
              targetConfig = new HashMap();
              targetConfig.putAll(stormConf);
              Map<String, Object> cassandraConfig = new HashMap<String, Object>();
              cassandraConfig.putAll(baseConfig);
              int connectionTimeout = Integer.parseInt(baseConfig.get("cassandra.connection.timeout").toString());
              ConnectionPoolConfiguration poolConf = new ConnectionPoolConfigurationImpl(
                      "MyConnectionPool").setConnectTimeout(connectionTimeout).setMaxTimeoutWhenExhausted(
                      connectionTimeout);
              cassandraConfig.put(AstyanaxClient.ASTYANAX_CONNECTION_POOL_CONFIGURATION, poolConf);
              targetConfig.put(this.clientConfigKey, cassandraConfig);
          }
  
          super.prepare(targetConfig, context);
          this.collector = collector;
      }
docs: {@inheritDoc}