<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def multiple_subplots(rows=1, cols=1, maxplots=None, n=1, delete=True, for_maps=False, *args, **kwargs):
 """ Function to create subplots. This function creates so many subplots on so many figures until the specified number `n` is reached. Parameters rows: int The number of subplots per rows cols: int The number of subplots per column maxplots: int The number of subplots per figure (if None, it will be row*cols) n: int number of subplots to create delete: bool If True, the additional subplots per figure are deleted for_maps: bool If True this is a simple shortcut for setting ``subplot_kw=dict(projection=cartopy.crs.PlateCarree())`` and is useful if you want to use the :attr:`~ProjectPlotter.mapplot`, :attr:`~ProjectPlotter.mapvector` or :attr:`~ProjectPlotter.mapcombined` plotting methods ``*args`` and ``**kwargs`` anything that is passed to the :func:`matplotlib.pyplot.subplots` function Returns ------- list list of maplotlib.axes.SubplotBase instances"""

    import matplotlib.pyplot as plt
    axes = np.array([])
    maxplots = maxplots or rows * cols
    kwargs.setdefault('figsize', [
        min(8.*cols, 16), min(6.5*rows, 12)])
    if for_maps:
        import cartopy.crs as ccrs
        subplot_kw = kwargs.setdefault('subplot_kw', {})
        subplot_kw['projection'] = ccrs.PlateCarree()
    for i in range(0, n, maxplots):
        fig, ax = plt.subplots(rows, cols, *args, **kwargs)
        try:
            axes = np.append(axes, ax.ravel()[:maxplots])
            if delete:
                for iax in range(maxplots, rows * cols):
                    fig.delaxes(ax.ravel()[iax])
        except AttributeError:  # got a single subplot
            axes = np.append(axes, [ax])
        if i + maxplots > n and delete:
            for ax2 in axes[n:]:
                fig.delaxes(ax2)
                axes = axes[:n]
    return axes