if (mustCollect || heapFull || nurseryFull || metaDataFull
if (mustCollect || heapFull || nurseryFull || metaDataFull ||
  public final boolean poll(boolean mustCollect, Space space)    throws LogicallyUninterruptiblePragma {    if (collectionsInitiated > 0 || !initialized) return false;    mustCollect |= stressTestGCRequired();    boolean heapFull = getPagesReserved() > getTotalPages();    boolean nurseryFull = nurserySpace.reservedPages() > nurserySize.getMaxNursery();    boolean metaDataFull = metaDataSpace.reservedPages() > META_DATA_FULL_THRESHOLD;    int newMetaDataPages = metaDataSpace.committedPages() - previousMetaDataPages;    if (mustCollect || heapFull || nurseryFull || metaDataFull        (progress && (newMetaDataPages > metaDataLimit.getPages()))) {      if (space == metaDataSpace) {        awaitingCollection = true;        return false;      }      required = space.reservedPages() - space.committedPages();      if (space == nurserySpace) required = required<<1;  // account for copy reserve      Collection.triggerCollection(Collection.RESOURCE_GC_TRIGGER);      return true;    }    return false;  }