* @param derivedType
*/
public void start(final Type derivedType) {
Checker.notNull("parameter:derivedType", derivedType);
final Package packagee = derivedType.getPackage();
final Set<Method> visited = this.createVisited();
final AllMethodsVisitor visitor = new AllMethodsVisitor() {
@Override
protected boolean visit(final Method method) {
boolean skipRemaining = false;
while (true) {
if (method.isStatic()) {
break;
}
final Visibility visibility = method.getVisibility();
if (Visibility.PRIVATE == visibility) {
break;
}
// different pacakge skip this method.
if (Visibility.PACKAGE_PRIVATE == visibility) {
final Type enclosingType = method.getEnclosingType();
if (false == packagee.equals(enclosingType.getPackage())) {
break;
}
}
if (false == visited.contains(method)) {