Bug 509034 - Further performance improvement in API tools build for
large workspaces 



Signed-off-by: Vikas Chandra <Vikas.Chandra@in.ibm.com>
diff --git a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/builder/ReferenceExtractor.java b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/builder/ReferenceExtractor.java
index 10a9a63..e3627be 100644
--- a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/builder/ReferenceExtractor.java
+++ b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/builder/ReferenceExtractor.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2007, 2016 IBM Corporation and others.
+ * Copyright (c) 2007, 2017 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
@@ -1469,6 +1469,9 @@
 	 * @throws CoreException
 	 */
 	static IApiType getDefaultDefined(IApiType type, String name, String signature, boolean isOverride) throws CoreException {
+		if (type != null && type.getName().startsWith("java.")) { //$NON-NLS-1$
+			return null;
+		}
 		if (type != null) {
 			if (!isOverride) {
 				IApiMethod method = type.getMethod(name, signature);
@@ -1478,8 +1481,6 @@
 					}
 				}
 			}
-			// TODO We should skip checking super class if it is
-			// java.lang.Object (or system library class)
 			IApiType superclass = getDefaultDefined(type.getSuperclass(), name, signature, false);
 			if (superclass != null) {
 				return superclass;