'`prepared_statement` should be an instance of :class:`PreparedStatement`.
See :class:`Statement` attributes for a description of the other parameters.'

def __init__(self, prepared_statement, retry_policy=None, consistency_level=None, routing_key=None, serial_consistency_level=None, fetch_size=FETCH_SIZE_UNSET, keyspace=None, custom_payload=None):

    self.prepared_statement = prepared_statement
    self.consistency_level = prepared_statement.consistency_level
    self.serial_consistency_level = prepared_statement.serial_consistency_level
    self.fetch_size = prepared_statement.fetch_size
    self.custom_payload = prepared_statement.custom_payload
    self.is_idempotent = prepared_statement.is_idempotent
    self.values = []
    meta = prepared_statement.column_metadata
    if meta:
        self.keyspace = meta[0].keyspace_name
    Statement.__init__(self, retry_policy, consistency_level, routing_key, serial_consistency_level, fetch_size, keyspace, custom_payload, prepared_statement.is_idempotent)
