code: protected boolean willAggregateWith(Js first, Js second) {
          Validate.notNull(first, "Js cannot be null");
          Validate.notNull(second, "Js cannot be null");
          
          // never aggregate absolutes
          if(this.resourcesDao.isAbsolute(first) || this.resourcesDao.isAbsolute(second)) {
              return false;
          }
  
          return new EqualsBuilder()
              .append(first.getConditional(), second.getConditional())
              .isEquals();
      }
docs: Similar to the {@link #equals(Object)} method, this will return
  true if this object and the argument are "aggregatable".
  
  2 {@link Js} objects are aggregatable if and only if:
  <ol>
  <li>Neither object returns true for {@link #isAbsolute()}</li>
  <li>The values of their "conditional" properties are equivalent</li>
  </ol>
  
  The last rule mentioned above uses {@link FilenameUtils#getFullPath(String)}
  to compare each object's value. In short, the final file name in the value's path
  need not be equal, but the rest of the path in the value must be equal.
  
  @param other
  @return