class DeallocateAnalyzer {

    private DeallocateAnalyzer() {
    }

    public static AnalyzedDeallocate analyze(DeallocateStatement deallocateStatement) {<FILL_FUNCTION_BODY>}
}

        Expression preparedStmtExpression = deallocateStatement.preparedStmt();
        String preparedStmt = null;
        if (preparedStmtExpression != null) {
            if (preparedStmtExpression instanceof StringLiteral) {
                preparedStmt = ((StringLiteral) preparedStmtExpression).getValue();
            } else if (preparedStmtExpression instanceof QualifiedNameReference) {
                preparedStmt = ((QualifiedNameReference) preparedStmtExpression).getName().toString();
            } else {
                throw new AssertionError("Expression " + preparedStmtExpression.toString() + " not supported as " +
                                         "preparedStmt expression for DEALLOCATE");
            }
        }
        return new AnalyzedDeallocate(preparedStmt);
    
<no_super_class>