throw new IllegalArgumentException("downCacheSize cannot be less than zero");
throw new IllegalArgumentException("downCacheSize must be greater than zero");
   public ChannelState(Channel channel, PersistenceManager pm,                       boolean acceptReliableMessages, boolean recoverable,                       int fullSize, int pageSize, int downCacheSize)   {      if (pm == null)      {          throw new IllegalArgumentException("ChannelState requires a " +                                             "non-null persistence manager");      }      if (channel == null)      {          throw new IllegalArgumentException("ChannelState requires a " +                                             "non-null Channel");      }      if (pageSize >= fullSize)      {         throw new IllegalArgumentException("pageSize must be less than full size");      }      if (downCacheSize > pageSize)      {         throw new IllegalArgumentException("pageSize cannot be smaller than downCacheSize");               }      if (pageSize <= 0)      {         throw new IllegalArgumentException("pageSize must be greater than zero");      }      if (downCacheSize < 0)      {         throw new IllegalArgumentException("downCacheSize cannot be less than zero");      }                      this.channel = channel;            this.pm = pm;            this.acceptReliableMessages = acceptReliableMessages;            this.recoverable = recoverable;            messageRefs = new BasicPrioritizedDeque(10);            deliveries = new HashSet();            downCache = new ArrayList();            this.fullSize = fullSize;            this.pageSize = pageSize;            this.downCacheSize = downCacheSize;            refLock = new Object();            deliveryLock = new Object();   }