[158079] NPE is thrown when TaglibIndex::getAvailableTaglibRecords() is called
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/taglib/ProjectDescription.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/taglib/ProjectDescription.java
index 12c1f16..e70c501 100644
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/taglib/ProjectDescription.java
+++ b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/taglib/ProjectDescription.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2005 IBM Corporation and others.
+ * Copyright (c) 2005,2006 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -572,8 +572,8 @@
 	/**
 	 * @param catalogEntry
 	 *            a XML catalog entry pointing to a .jar or .tld file
-	 * @return an ITaglibRecord describing a TLD contributed to the
-	 *         XMLCatalog, if one was found at the given location
+	 * @return a ITaglibRecord describing a TLD contributed to the XMLCatalog
+	 *         if one was found at the given location, null otherwise
 	 */
 	private ITaglibRecord createCatalogRecord(ICatalogEntry catalogEntry) {
 		return createCatalogRecord(catalogEntry.getKey(), catalogEntry.getURI());
@@ -584,7 +584,8 @@
 	 *            the key value that will become the returned record's "URI"
 	 * @param urlString -
 	 *            the string indicating where the TLD really is
-	 * @return an ITaglibRecord describing a TLD contributed to the XMLCatalog
+	 * @return a ITaglibRecord describing a TLD contributed to the XMLCatalog
+	 *         if one was found at the given location, null otherwise
 	 */
 	private ITaglibRecord createCatalogRecord(String uri, String urlString) {
 		ITaglibRecord record = null;
@@ -646,7 +647,8 @@
 			catch (Exception e1) {
 				Logger.logException("Exception reading TLD contributed to the XML Catalog", e1);
 			}
-
+			
+			if(tldStream != null) {	
 			int c;
 			ByteArrayOutputStream buffer = new ByteArrayOutputStream();
 			// array dim restriction?
@@ -687,6 +689,7 @@
 			catch (IOException e) {
 			}
 			record = urlRecord;
+			}
 		}
 		return record;
 	}
@@ -859,7 +862,9 @@
 						uri = uri.toLowerCase(Locale.US);
 						if (uri.endsWith((".jar")) || uri.endsWith((".tld"))) {
 							ITaglibRecord record = createCatalogRecord(entries2[entry]);
-							records.add(record);
+							if(record != null) {
+								records.add(record);
+							}
 						}
 					}
 				}