// Parse the fake class declaration into a {@code FileNode}.
SourceFragmentsReader reader = new SourceFragmentsReader(attribute.getSourcePath(), fragments);
StreamingASTokenizer tokenizer = new StreamingASTokenizer();
tokenizer.setReader(reader);
IRepairingTokenBuffer buffer = new StreamingTokenBuffer(tokenizer);
ASParser parser = new ASParser(workspace, buffer);
FileNode fileNode = new FileNode(builder.getFileSpecificationGetter());
parser.parseFile(fileNode, EnumSet.of(PostProcessStep.CALCULATE_OFFSETS));
problems.addAll(tokenizer.getTokenizationProblems());
problems.addAll(parser.getSyntaxProblems());
// Find the nodes representing the interfaces inside the {@code FileNode}.
List<IIdentifierNode> interfaceNodeList = new ArrayList<IIdentifierNode>();
if (fileNode.getChildCount() == 1 && fileNode.getChild(0) instanceof IClassNode)
{