title: Unused classes cannot be resolved in Eclipse
body: <p>I am using Eclipse Java EE IDE for Web Developers.</p>
  
  <p>Version: Helios Service Release 2
  Build id: 20110218-0911</p>
  
  <p>Currently I am writing a bookstore project, however when compiling ShoppingCart.java, it shows </p>
  
  <p>"- The type java.util.function.Consumer cannot be resolved. It is indirectly referenced from required .class 
       files</p>
  
  <pre><code>- The type java.util.function.Consumer cannot be resolved. It is indirectly referenced from required .class 
   files
  
  - The type java.util.function.Predicate cannot be resolved. It is indirectly referenced from required .class files
  
  - The type java.util.function.UnaryOperator cannot be resolved. It is indirectly referenced from 
   required .class files
  
  - The type java.util.Comparator cannot be resolved. It is indirectly referenced from required .class files"
  </code></pre>
  
  <p>at the beginning. 
  This is Book.java</p>
  
  <pre><code>package bookstore;
  
  import java.io.Serializable;
  
  public class Book implements Serializable {
  private static final long serialVersionUID = 1L;
  private String isbn;
  private String author;
  private String title;
  private double price;
  private int edition;
  private String publisher;
  private String copyright;
  public Book(String isbn, String author, String title, double price, int edition, String publisher, String copyright) {
      this.isbn = isbn;
      this.author = author;
      this.title = title;
      this.price = price;
      this.edition = edition;
      this.publisher = publisher;
      this.copyright = copyright;
  }
  public String getIsbn() {
      return isbn;
  }
  public String getAuthor() {
      return author;
  }
  public int getEdition() {
      return edition;
  }
  public String getPublisher() {
      return publisher;
  }
  public String getCopyright() {
      return copyright;
  }
  public String getTitle() {
      return title;
  }
  public void setTitle(String title) {
      this.title = title;
  }
  public double getPrice() {
      return price;
  }
  public void setPrice(double price) {
      this.price = price;
  }
  }
  </code></pre>
  
  <p>And ShoppingCart.java</p>
  
  <pre><code>package bookstore;
  import java.util.*;
  import java.util.ArrayList;
  
  
  public class ShoppingCart extends ArrayList&lt;Book&gt; {
  private static final long serialVersionUID = 1L;
  public ShoppingCart() {
  }
  
  public void addBook(Book book) {
      this.add(book);
  }
  
  public Book getBook(int i) {
      return this.get(i);
  }
  
  public double getTotalPrice() {
      double price = 0.0;
      for (Book book : this) {
          price += book.getPrice();
      }
      return price;
  }
  }
  </code></pre>
  
  <p>I did not include functions of Consumer, Predicate, UnaryOperator and Comparator. I found that the problem may be due to the "extends ArrayList" </p>